|Installing multiple copies of the same application|
|Written by Administrator|
|Monday, 11 May 2009 09:55|
Many of our users ask us, how do they install the same application into different folders on the same computer. The answer is - Ghost Installer, just like any MSI installer, does not normally do that. Let us clear our position on this issue.
First of all, some technical description. If you go to Advanced Features - Project Source and find <Variables> tag (it is usually in the bottom of the project), you can find AppID variable. This variable stores unique application identifier, used by the installer and the OS. The installer creates the key named as AppID in HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall and stores various useful information there, such as Installation path, Application name, version, vendor, etc. Windows uses this information to fill the list of installed applications in "Add/Remove Programs" applet in the Control Panel.
Ghost Installer uses this registry key to determine whether this application is already installed and checks for the version number of the installed application. If version numbers are equal, then the installer shows "Select Mode dialog" which allows user to choose between "Add/Remove components", "Repair" and "Uninstall" modes. If version number stored in the registry is lower than the version of the application that is about to be installed, Ghost Installer uses old installation path as default installation path for current installation. This feature helps to create patches and updates, patches and updates might even have no user interface, they can be installed silently to the folder of the basic application.
So here is the first problem we meet when we try to install two or more instances of the same application. It is impossible to create two registry keys with the same name. The application identifier must be unique and it is stored in the installation itself, so it can not be faked.
Even if it was possible to fake the ID and install the same application several times with different AppIDs, then how would the installer know how many copies of the applications are installed? How would the installer determine, what copy of the application should be uninstalled or repaired, when the user runs installation again? What if the application has COM servers? Uninstalling the last installed copy of it makes the server unavailable for other copies of the application. These and many other questions make it clear that an application should not be installed several times into different folders.
Are there any solutions?
Of course there are. The first one is not to use uninstaller. The uninstaller is simply turned off in Project Settings - Uninstaller Options. This will avoid problems with uninstallation, so the installer will never try to search for installed copy of the application and will allow to install into different folder. The cost of this solution - the end-user has to delete installed files manually.
There are also more correct solutions. In most cases, people want to install the same application into different folders because they want their program to have different settings for different users. If the application stores its settings in HKEY_CURRENT_USER instead of HKEY_LOCAL_MACHINE or an ini file, that is placed in the installation folder, this problem is easily solved. This method is used in many products, for example Microsoft Office. But if there is a need to have different user profiles for one windows user, you can make different user profiles for your program and ask the user which profile he wants to use on startup. This model is used by many instant messengers, for example ICQ. So, as you can see, there is always a way out.It is impossible to describe all features of such a complex product as Ghost Installer Studio in one article, so I would recommend that you read other articles to find out more about Ghost Installer's exciting features, see features comparison table to know what edition of Ghost Installer meets all your requirements and download Ghost Installer Demo to have the first experience of working with Ghost Installer.
|Last Updated on Sunday, 07 June 2009 04:27|