Archive: Strategy (philosophy) of Install(Update).


Strategy (philosophy) of Install(Update).
I have already read many topics. But I can't find any information about strategy (philosophy) of Install using NSIS.

My Question:
1. User has installed setup package with any version of my program.
2. User installs another version of the same program.

What is the best method to detect if the program is already installed, what is the version of installed one and on which stage of installation should this method be used. Trivial usage of IfFileExist is not applicable for me since my package installs lots of files into different locations and different packages may include files with the same versions.

3. If the previous version is detected.
How can I customize welcome page to notify user that already installed package or program is about to be updated.


On russian.
Ïî-õîðîøåìó, êàæäûé ïðîãðàììèñò ìîæåò ðåøèòü çàäà÷ó íåñêîëüêèìè ñïîñîáàìè. Òàê è çäåñü - ïðàâèëà ñîçäàíèÿ äèñòðèáóòèâà çàâèñÿò îò âèäåíèÿ ïðîãðàììèñòà, à â äàëüíåéøåì, âîçìîæíî, è æåëàíèÿ ïîëüçîâàòåëÿ.

On English.

different packages may include files with the same versions.
Different packages have not the same versions. So you can store current version: in regestry, in file at the main dir. You can store components installed by user (if components are present).
To my mind optimal - NSIS package (script is available in Examples folder).

Originally posted by glory_man
On russian.
Ïî-õîðîøåìó, êàæäûé ïðîãðàììèñò ìîæåò ðåøèòü çàäà÷ó íåñêîëüêèìè ñïîñîáàìè. Òàê è çäåñü - ïðàâèëà ñîçäàíèÿ äèñòðèáóòèâà çàâèñÿò îò âèäåíèÿ ïðîãðàììèñòà, à â äàëüíåéøåì, âîçìîæíî, è æåëàíèÿ ïîëüçîâàòåëÿ.

On English.

Different packages have not the same versions. So you can store current version: in regestry, in file at the main dir. You can store components installed by user (if components are present).
To my mind optimal - NSIS package (script is available in Examples folder).
Thank you glory_man...I have send you a PM on russian.