Identifying the upgrade - please help
I shiped an installation package for my product last week. Now I have to implement the upgrade. I read a lot of articles and docs and I now know which GUID values to change, how to populate the upgrade table,...
However I'm concerned about the upgrade. When testing with logging option enabled (/L setting to the .msi file) I found that the upgrade first fires up the uninstall and then the installation. This is ok - I expected this. The problem is that during uninstalation I didn't see the property, which I set in upgrade table, set ... the property apears only during the install.
I have to remove all files when I do an 'real' uninstall (REMOVE=ALL). On the other hand I have to remove only the installed files (not user files) when I'm doing an upgrade of my product. How can I identify the upgrade?
BTW: To avoid another posting ... I'm using the below properties to identify some processes ... please correct me if there is an error ... also give me any aditional sugestion.
- Installation: property 'not Installed'
- Uninstallation: property 'REMOVE=ALL And Installed'
- How to identify the modify (add component)
- How to identify the repair
How to upgrade only installed components?
10x a lot and regards,
The way my install works is that it installs all of the new files on top of the old ones, and then removes the old install. This all depends on the placement of you RemoveExistingProducts action.
The first install will never see any of the properties from the second install because they are seperate installations.
The best way to recognize an upgrade is to use the property that you set in your upgrade table.
"Installed" - means that the product is installed, i.e same upgrade code, package code and product code.
In your explantion, why do you need to remove all of the files yourself? Install Shield should look after this during the upgrade..