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
- :
- Dynamic linked files not getting overwritten during patch Installation
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
Mar 10, 2015
05:31 AM
Dynamic linked files not getting overwritten during patch Installation
Hi,
I have many .xml dynamic linked files in a single component . After Installing Update.exe created using Patch design only few files got updated and some did not get updated. The files which got updated date-time stamp shown by them after installation is the date when those files were added to patch (checked in to TFS) where as one of the file which was checked in to TFS on same date-time stamp shows the date-time stamp same as the patch installation date on user machine.
Although all files were checked in at same time and are dynamically added in ism under same component then why on Patch Install they show different time stamp. (Updated file shows date when it was added to patch whereas file which didnt got updated shows date when patch was installed on user machine.)
Thanks
I have many .xml dynamic linked files in a single component . After Installing Update.exe created using Patch design only few files got updated and some did not get updated. The files which got updated date-time stamp shown by them after installation is the date when those files were added to patch (checked in to TFS) where as one of the file which was checked in to TFS on same date-time stamp shows the date-time stamp same as the patch installation date on user machine.
Although all files were checked in at same time and are dynamically added in ism under same component then why on Patch Install they show different time stamp. (Updated file shows date when it was added to patch whereas file which didnt got updated shows date when patch was installed on user machine.)
Thanks
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Mar 12, 2015
01:12 PM
Start with looking at the original component for your 'XML' files. Did you specify a 'key' file for the component? Most often this is the problem with dynamically linked files.
If you did not, and because your dynamically linked files are not your typical key files such as .exe, ocx, dll, etc. then the target directory is then assumed to be the 'key' for the component.
When you run an update, the component checks to see if your key file has changed. If there isn't a key file, then it looks to see if your target directory exists. I assume that in your case the target directory already exists at update time. In this case the component will NOT be flagged for update.
If these were not dynamically linked then you could set a property to always overwrite for each file, but I do not see a method to do this.
A solution I use is to use a token file, such asKeyFile.txt. Inside this file I enter a version number. I then add this file statically and set it as a key file. I then setup my dynamic links and build. After I build an upgrade and test my upgrade by changing the contents of the key file. The name of the key file is not important, as long as it is unique to your component.
I am not certain how you can force this to work for your patch build, since there is no key file and I believe rules for minor upgrades require that you do not change key files. You may be able to create a new component, structured like the one I described, and then remove the old component remembering to author the remove file table for this 'old' component. I think that might work because you are allowed to create new components and remove existing components.
If you did not, and because your dynamically linked files are not your typical key files such as .exe, ocx, dll, etc. then the target directory is then assumed to be the 'key' for the component.
When you run an update, the component checks to see if your key file has changed. If there isn't a key file, then it looks to see if your target directory exists. I assume that in your case the target directory already exists at update time. In this case the component will NOT be flagged for update.
If these were not dynamically linked then you could set a property to always overwrite for each file, but I do not see a method to do this.
A solution I use is to use a token file, such as
I am not certain how you can force this to work for your patch build, since there is no key file and I believe rules for minor upgrades require that you do not change key files. You may be able to create a new component, structured like the one I described, and then remove the old component remembering to author the remove file table for this 'old' component. I think that might work because you are allowed to create new components and remove existing components.