View Full Version : Uninstallation problem with installshield patch

10-01-2009, 09:54 PM
We are using installshield 2008 premium. Installshield project type is basic MSI. After a production release now we are in to releasing just the patches.

We are using Patch design view to create the patches. Previous release was an MSI package. Now for the current release I use MSI package wrapped by setup.exe.

What we acheived:
1.MSP is created
2.Installation of patch over existing original application is successful.
3.I can see the patch in add/remove programs
4.I can uninstall the patch too.

What is the problem:
1.during uninstallation all the folders are getting removed
2. only files in the root folder of the installation remains after installation.

Also I can see from the patch creation log file as,
"Patch API could not create a small patch; using whole upgraded file."
We are having some 10 dlls (size mostly in KB) in the bin folder. None of these dlls are new or updated in the patch but still we are seeing the above message in the logs for all the dlls.

I forgot to say that we are using "Dyanamic File Linking" for the Files. So I guess Installshield creates new GUID every time we compile the project. This could be the reason why the dlls got installed freshly.

I tried to use static link for the file. In this case GUID will be same for all the files through all compilation iterations. This way I was able to install and uninstall the components safely with out removing the folders entirely.

What is the problem? Any clues guys? Please throw some light.

10-05-2009, 01:35 AM
I have sorted it out. Since I have used dyanamic file linking the keys for the files will be different for each build. There fore the patch design will take those files as new one and would uninstall them when you uninstall the patch.

To avoid this and to have the same key for the files through out all builds one must select the previous MSI in the release wizard. When this previous MSI is selected the keys for the file will never change there by just installing new files and uninstalling just the same files.