cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Lou_Elston
Level 6

Dynamic file linking and Upgrades problem

The previous verison of the installer had some components that were dynamicaly linked. The number of files in these folders does not change so there is no need for dynamic linking. In the new version of the installer these components were changed from dynamic to static links, and keyfiles created for each component.

When testing the upgrades those component files get installed (I verified that by stopping the action right after that point), and then they get deleted. My thought here is that even thought they have the same component guid, the fact that the previously installed version had no keyfile for those components is the reason that the deletes are happening. I am thinking that if I change the GUID's on those components in the new install version, that this may prevent those component files from being un-installed. Any thoughts on this?
Labels (1)
0 Kudos
(7) Replies
RobertDickau
Flexera Alumni

Does an MSI run-time log file contain more detail about what's going on with the component states and actions?
0 Kudos
Lou_Elston
Level 6

I should note that these components were also changed from shared to not shared. I can see from the attached log entries that the new 3.0 version file was install (then removed).
0 Kudos
Lou_Elston
Level 6

Major upgrade setting are set to "Install setup then remove unneeded files"
0 Kudos
Lou_Elston
Level 6

Could be that what I sent previously contained the error...but I do not see it.
0 Kudos
RobertDickau
Flexera Alumni

As a test, perhaps also see if the uninstall-before-installing major-upgrade setting makes a difference? The log file should also have a bit more information about features' and components' being removed; Tools > MSI Log Analyzer can help...
0 Kudos
Lou_Elston
Level 6

The uninstall before does fix the problem in that those components are no longer being deleted. It also removed the previous desktop shortcut that was still there after an upgrade. The problem with doing the un-install before is that it uninstalls the user configuration files that were modified by the users, and, it uninstalls the SQL database and all the user data...so that is out.

Changing the GUIDS does not work, the files are still the same name, and being that they previously had no keyfile, they are deleted.

I am just going to (right after InstallFiles), copy those just installed files elsewhere, and then restore them after InstallFinalize. These custom actions will have a condition of the upgrade version and wil not be needed in the future as all the dynamically linked files have been changed to static links.
0 Kudos
drewdy
Level 4

You could try playing with the overwrite property of those specific files. Perhaps setting them to "Never overwrite" or set conditions on them?
0 Kudos