- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Importance of Setting a file as a 'Key file' is not clear
- 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
Importance of Setting a file as a 'Key file' is not clear
I'm working on a software update using InstallShield and came across the concept of key files. While I understand their general function, I'd love to get some insights from the community on their specific importance in update scenarios.Would love it if you could explain with a realtime example.
Here are some key questions I have:
- Efficiency: How exactly do key files improve the efficiency of minor updates? Does it prevent unnecessary file modifications and preserve user settings?
- Rollback Potential: If an update encounters issues, how do key files play a role in potential rollbacks to the previous version?
- Alternatives (if any): Are there any viable alternatives to using key files in InstallShield updates? If so, what are the potential drawbacks or limitations compared to using key files?
- Best Practices: Beyond minor updates, are there any best practices for using key files in different software update scenarios (e.g., major version upgrades, bug fix patches)
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
The Installshield documentation explains key files as follows:
" A key file is a file that the Windows Installer uses to detect the component’s presence on the target machine and determine whether it needs to be updated. In order to create advanced component settings or shortcuts, a key file must be specified."
If Windows Installer decides to proceed with installing the component - it will go onto individually check all of the other files in the component to see if they should be installed or not.
To get into the weeds of how the windows installer uses Key files to determin if a component is installed or not, it follows Microsofts File Versioning rules:
If a component has a key file, Windows Installer checks the target system for the presence of that file. Windows Installer installs the component in all of the following scenarios:
• The file is not present on the target system.
• The file is present on the target system, and the key file of the component has a higher or equal version number compared to the version number of the file on the target system.
• The file is present on the target system, and the key file of the component and the file on the target system are unversioned.
If the key file of the component has a lower version number than the file on the target system, Windows Installer does not install the component at run time. In addition, Windows Installer does not install the component at run time if the key file of the component is unversioned but the file on the target system is versioned. Thus, Windows Installer does not install a component if its key file could be downgraded at run time.
I hope this helps,
Stuart