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: Replace all files in upgrade
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
Jul 30, 2009
06:55 AM
Replace all files in upgrade
Hi,
I have a Basic MSI package and I ran a small\minor upgrade with it. Most files have no version, and they were not replaced even though the upgrade package contains a different instances of these files. So, can I order the upgrade process to replace all the files or at least all the files that are different?
Thanks
I have a Basic MSI package and I ran a small\minor upgrade with it. Most files have no version, and they were not replaced even though the upgrade package contains a different instances of these files. So, can I order the upgrade process to replace all the files or at least all the files that are different?
Thanks
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Jul 30, 2009
07:45 AM
If you haven't already, take a look at the Windows Installer doc on the file versioning rules. Basically, an non-versioned file is not replaced if it's creation date and modify date are different, because Microsoft considers that file as "customer data".
I've gotten around that by setting an override version on the file itself - in the Setup Design view, drill down through the features and components to the files, right-click on the file names, and set a version number. Because the replacement file looks like it's versioned, it will always replace a non-versioned file with the same name/location.
If you're using dynamic file linking, it gets even trickier. InstallShield generates component GUIDS for dynamically-linked files' components. If you're using them, make sure that you create a component for each folder or subfolder you're pulling files from (that is, exclude subfolders in the link), and then make sure that you enable patch optimization (through the Release Wizard). Doing so will allow InstallShield to try to match the component GUIDS for your upgrade to the original GUIDs it generated.
Finally, you might want to validate your project to see if you can spot any issues that would cause the files not to be updated, and log an upgrade to see if the log file gives you any additional info.
I've gotten around that by setting an override version on the file itself - in the Setup Design view, drill down through the features and components to the files, right-click on the file names, and set a version number. Because the replacement file looks like it's versioned, it will always replace a non-versioned file with the same name/location.
If you're using dynamic file linking, it gets even trickier. InstallShield generates component GUIDS for dynamically-linked files' components. If you're using them, make sure that you create a component for each folder or subfolder you're pulling files from (that is, exclude subfolders in the link), and then make sure that you enable patch optimization (through the Release Wizard). Doing so will allow InstallShield to try to match the component GUIDS for your upgrade to the original GUIDs it generated.
Finally, you might want to validate your project to see if you can spot any issues that would cause the files not to be updated, and log an upgrade to see if the log file gives you any additional info.
![](/skins/images/D60DF682EA37BF37032955CE10F3F0BB/responsive_peak/images/icon_anonymous_message.png)