This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Basic MSI - Dynamic link problem.
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 24, 2012
01:54 PM
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
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
(2) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 27, 2012
06:55 PM
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.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 29, 2012
11:03 AM
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.
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:
BTW: this only happens when one has nested features.