View Full Version : Minor Upgrade/Dynamic Linking

12-02-2003, 06:44 PM
I inherited an install that used dynamic linking to create and populate virtual directories. I want to make a minor upgrade to the initial release (basically just binary and file changes), I am using the Previous Package option to suck in all the info from my previous install for the dynamic linking.

The fresh/green install is working fine, but when running an upgrade all the files get droped correctly except for the ones that use the dynamic linking (my other files get dropped correctly during the upgrade the only issue is with the files that were using dynamic linking).

I have 12 virtual directories that should be getting their paths built up from the settings I have in the directory table, just like during a fresh install. Instead 10 of the directory properties are being set by a value from a registry key under the current windows installer components registry entry, for example (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components) which causes it to create an invalid directory and put all the files that would go into 10 different directories into the one directory it created.

If I set the registry key value to nothing in the registry then all the directory paths get built up correctly but only 6 of 373 files get dropped.

I've also tried setting the registry key value to nothing in the registry and deleting the root of the virtual directories. All but two of the directories get created and most (315/373 15 of which are from the two directories that are not created) but not all the files get dropped.

Any help I can get would be greatly appreciated.


12-22-2003, 06:32 PM
Have you read Q106247? Although written for patching, much of it would also apply to minor upgrades.


12-23-2003, 01:38 PM
I have also found that files can be dropped during minor upgrades when merge modules contain unversioned files. If you have merge modules, you may want to try placing these into a separate feature and then exclude this feature during the patch generation.