cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
enanrum
Level 9

Basic MSI - Dynamic link problem.

So I copied my previous installer, updated the product code, upgrade code, component codes, and path variables. The installer has about 50 features, each with one component that is a dynamic link to project files.

The problem is the generated component codes in the msi for all the folders and files in the Dynamic links are the same as the previous install – see the generated.gif attachment! The project.jpg is how my project links the files.

The folders do not get uninstalled if the same country projects are installed with the current version.

For the previous release, I only installed the European country projects.
For the current release, I installed all country projects.

When I uninstall the previous release, all the projects that were not in current release are completely removed.

All files are removed on uninstall, but what remains is all the folders that did NOT include any files in them on install!

Not sure how to handle this. I’d hate to not use Dynamic Files since each of these country features has about 250 files and folders in them. And if we ever add a new setting file or something, it would be a pain to add it in for all features. Anyone have any ideas?

Thanks,
Tom
Labels (1)
0 Kudos
(2) Replies
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

This behavior is intentional to attempt to maintain component GUIDs across builds so that minor upgrade component rules are not broken (the most common authoring scenario is using dynamic file links in small updates and minor upgrades which do not allow for changing the feature/component tree or changing component codes). Since you are changing the product code, this does not qualify as a minor upgrade. Therefore, to get the build to always generate new component GUIDs for dynamically generated components every time a project is built, add the property 'UseOldDynamicFileMethod' (without quotes) to the InstallShield table in the Direct Editor and set the property value to 1. ***Please note: if you ever need to author a minor upgrade, having this property in your project could prevent the minor upgrade from functioning correctly.
0 Kudos
enanrum
Level 9

Thanks Josh, but the thing is these are basically two separate products. One is allowed to have multiple versions on their system. One is not an Upgrade of the other. The files and folders that I link to are of the same pathing and filename structure but with updated files.

The display name, product version, product code and all the component codes are different.

The way I got around this is I had to use a different variable for my PATHVARIABLE. If I used the same variable name - it generated the same component codes. Looking at my source for the dynamic link they were the same for each version: \AE. If I changed the latest version to include the version in the path variable - \AE - it generated different component codes.

BTW: this only happens when one has nested features.
0 Kudos