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
- :
- How to handle dropping keyfiles and upgrades
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
Sep 07, 2017
10:54 AM
How to handle dropping keyfiles and upgrades
I have an install that includes some database files, mdf & ldf.
The install for years has had the mdf files flagged as key files.
The company now wants the ability to move these database files to a different location, outside of the install.
If they do this, when the user starts the application it goes into repair mode and adds the database files back due to resiliency.
So I thought, why not just remove the key file flag for each of the components that include a mdf and ldf file.
The problem, the primary database that includes customer information now gets overwritten. The component id remains the same. The flags for never overwrite and permanent are the same. However, the setup clearly overwrites the mdf and ldf file of that component.
The only solution that comes to mind is to add a system search that sets a property that indicates that the database is installed and then set a condition on the component to only install if this condition is false.
Is there a better way for me to handle this?
The install for years has had the mdf files flagged as key files.
The company now wants the ability to move these database files to a different location, outside of the install.
If they do this, when the user starts the application it goes into repair mode and adds the database files back due to resiliency.
So I thought, why not just remove the key file flag for each of the components that include a mdf and ldf file.
The problem, the primary database that includes customer information now gets overwritten. The component id remains the same. The flags for never overwrite and permanent are the same. However, the setup clearly overwrites the mdf and ldf file of that component.
The only solution that comes to mind is to add a system search that sets a property that indicates that the database is installed and then set a condition on the component to only install if this condition is false.
Is there a better way for me to handle this?
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Sep 13, 2017
10:54 AM
I also posted this question on StackOverflow and got some good answers there.
My solution:
My installer had REINSTALLMODE set to 'amus' which forced all components to reinstall regardless of version.
Removing the ComponentID removes the files in question from tracking with Windows Installer resiliency checks.
My solution:
- Search Property table for REINSTALLMODE and delete it
- Remove ComponentID guids for components in question
My installer had REINSTALLMODE set to 'amus' which forced all components to reinstall regardless of version.
Removing the ComponentID removes the files in question from tracking with Windows Installer resiliency checks.
