This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Dynamic File Link Upgrade problem
Started by
Tifoid
, May 31 2005 21:46
9 replies to this topic
Posted 31 May 2005 - 21:46
I am having trouble producing a properly upgrading basic MSI installer with a component that has a dynamic file linking.
To create my dynamic file link component I first created a component called NewComponent1. Next I added a dynamic file link including subdirectories. Finally I added a file statically to the component and set it to the key file. Then to build the MSI I added a pointer to the previous version of the MSI in the release’s Previous Package field.
During initial install, the dynamic files are properly placed on the target system. During an upgrade the currently installed files are not changed (replaced by the new set of dynamic files).
When looking through the upgrade log file I find a component line that reads:
NewComponent1 Installed: Local; Request: Null; Action: Null
To create my dynamic file link component I first created a component called NewComponent1. Next I added a dynamic file link including subdirectories. Finally I added a file statically to the component and set it to the key file. Then to build the MSI I added a pointer to the previous version of the MSI in the release’s Previous Package field.
During initial install, the dynamic files are properly placed on the target system. During an upgrade the currently installed files are not changed (replaced by the new set of dynamic files).
When looking through the upgrade log file I find a component line that reads:
NewComponent1 Installed: Local; Request: Null; Action: Null
Posted 31 May 2005 - 22:31
More…
If I remove the “include sub-directories” option I get a dynamic file component that seems to properly install over the existing component, however it simply writes its files on top of the existing files … it doesn’t remove any files that were installed in the first version that no longer exist in the new version.
If I remove the “include sub-directories” option I get a dynamic file component that seems to properly install over the existing component, however it simply writes its files on top of the existing files … it doesn’t remove any files that were installed in the first version that no longer exist in the new version.
Posted 01 June 2005 - 08:42
A Small or Minor Update will not automatically delete fiels that you remove from existing components. You would need to populate the RemoveFile table for this, or use a Major Upgrade.
Don't include sub-folders as dynamic links. This doesn't work in Small or Minor Updates because InstallShield automatcally generates components for the sub-folders, with random GUIDs. However Component GUIDs are not allowed to change (this is only allowed in Major Upgrades). To avoid this problem manually create components for each sub-folder (and include the files dynamically in these components)
Don't include sub-folders as dynamic links. This doesn't work in Small or Minor Updates because InstallShield automatcally generates components for the sub-folders, with random GUIDs. However Component GUIDs are not allowed to change (this is only allowed in Major Upgrades). To avoid this problem manually create components for each sub-folder (and include the files dynamically in these components)
Stefan Krüger
InstallSite.org twitter facebook
Posted 01 June 2005 - 11:28
Do you have a good idea of what I can do if I don’t know the names (or number) of the sub directories until build time? We are trying to create an automated process for building this and it would severely break our design if we had to put a human in the middle of our release cycle.
Posted 01 June 2005 - 12:26
Further to what Stefan has already said, you're actually breaking the rules if you add or remove resources from an existing component - check the following link for details:
http://msdn.microsof...ponent_code.asp
Haven't Installshield included a tool in their AdminStudio suite yet to mimic what "UpgradeSync" (and "component rules") does in the Wise product sets? Assuming I've understood your "dynamic links" issue, a tool like this should help synchronise your GUIDs between versions?
http://msdn.microsof...ponent_code.asp
Haven't Installshield included a tool in their AdminStudio suite yet to mimic what "UpgradeSync" (and "component rules") does in the Wise product sets? Assuming I've understood your "dynamic links" issue, a tool like this should help synchronise your GUIDs between versions?
Posted 02 June 2005 - 10:03
You could use one of the tools lsited under Create Components Automatically at http://www.installsi.../en/msi/isd.htm
Or you avoid the problem alltogether by using a Major Upgrade.
Or you avoid the problem alltogether by using a Major Upgrade.
Stefan Krüger
InstallSite.org twitter facebook
Posted 25 January 2006 - 14:09
So can't I remove a file if it was added by means of Dynamic Link in the first place?
Posted 25 January 2006 - 16:33
Did anyone say that?
We are discussing upgrades. Minor Upgrades with dynamic file links *that include subdirectories* don't work properly.
We are discussing upgrades. Minor Upgrades with dynamic file links *that include subdirectories* don't work properly.
Stefan Krüger
InstallSite.org twitter facebook
Posted 27 January 2006 - 18:05
I don't remember whether InstallShield ever officially accepted this as a bug, and also I haven't tried it lately so I don't know if it's already fixed. I suggest you contact Macrovision support (you get free support while you're evaluating the product) to find out.
Stefan Krüger
InstallSite.org twitter facebook