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.
Key File Questions
Started by
sjimmerson
, Dec 18 2003 01:58
9 replies to this topic
Posted 18 December 2003 - 01:58
Does Windows Installer check each file in a component to determine if it is updated and should be installed (based on default file versioning rules) if a key file is not set for that component?
If a component does not have a key file set, how are patches, upgrades and repaires impacted?
If a component does not have a key file set, how are patches, upgrades and repaires impacted?
Posted 18 December 2003 - 08:25
No. If you don't mark a file or registry entry as key element ("key path") for a component, the destination folder becomes key. If the folder exists there's no need for MSI to reinstall the component, i.e. files will not be updated.
Stefan Krüger
InstallSite.org twitter facebook
Posted 18 December 2003 - 18:38
There seems to be some confusion amongst installation developers on this topic. Is there any situation that you are aware of in which MSI will check each file in a component if you do not specify a "key file"? The reason I am asking is because I have seen several posts where a suggestion was made to not specify a key file so that each file in the component would be checked. However, I have not found any documentation to support this suggestion.
Thanks for your assistance,
Shane
Thanks for your assistance,
Shane
Posted 18 December 2003 - 19:40
MSI will always first check the "key path" (which may be file, registry, folder). If it finds that this element doen't need to be reinstalled/updated the whole component will be skipped.
If it finds however that the key element needs to be updated, then it will process all other files in the component according to the overwrite rules (i.e. don't overwrite a newer file with an older version etc.)
If it finds however that the key element needs to be updated, then it will process all other files in the component according to the overwrite rules (i.e. don't overwrite a newer file with an older version etc.)
Stefan Krüger
InstallSite.org twitter facebook
Posted 19 December 2003 - 00:48
Stefan, one more question that is similar to this one:
When you dynamically link files to a component I assume a single component is created and a keyfiles is automatically selected? (I am asking because I read somewhere that Installshield Developer will create one component per file included in a dynamic component, this can't be right?)
When you dynamically link files to a component I assume a single component is created and a keyfiles is automatically selected? (I am asking because I read somewhere that Installshield Developer will create one component per file included in a dynamic component, this can't be right?)
Regards
-Stein Åsmul
-Stein Åsmul
Posted 19 December 2003 - 11:02
InstallShield follows MSI best practices. So if you dynamically link to a folder that includes multiple DLLs, a separate component for each DLL will be created. But if all files are .txt files they are all added to the same component.
If you have sub folders, extra components will be created for them.
If you have sub folders, extra components will be created for them.
Stefan Krüger
InstallSite.org twitter facebook
Posted 19 December 2003 - 21:11
stefan, i have one question about this issue
situation (1) :
one of component has 5 files with a text file, which is a key file. after first installation, this file has been modified (incorrectly). so user decided to reinstall whole application to have a fresh setting.
according to your explanation, this won't work. because the key file's version has not been changed. and since this is newer version than the installer (MSI) has.
is there a way to overwrite this file no matter what???
situation (1) :
one of component has 5 files with a text file, which is a key file. after first installation, this file has been modified (incorrectly). so user decided to reinstall whole application to have a fresh setting.
according to your explanation, this won't work. because the key file's version has not been changed. and since this is newer version than the installer (MSI) has.
is there a way to overwrite this file no matter what???
Posted 20 December 2003 - 00:13
REINSTALLMODE option "a" should help, but would apply to all files in the feature(s).
Posted 20 December 2003 - 01:25
Also deleting the file early in the user interface sequence (before costing) should prevent windows installer from "seeing" that the file is installed. Note that REINSTALLMODE = "amus" will also force-reinstall all merge module files... Not so nice.
Regards
-Stein Åsmul
-Stein Åsmul
Posted 20 December 2003 - 08:06
For additional clarification: text files don't have a version. Therefore Windows Installer will compare the create date and modified date of the existing file. If it find that it was modified after it was created (installed) it will not be overwritten/updated - even if the file in your setup package is newer.
Stefan Krüger
InstallSite.org twitter facebook