Jump to content


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.
Photo

Key File Questions


9 replies to this topic

sjimmerson

sjimmerson
  • Members
  • 36 posts

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?

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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.

sjimmerson

sjimmerson
  • Members
  • 36 posts

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

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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.)

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

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?)
Regards
-Stein Åsmul

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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.

hsong3

hsong3
  • Members
  • 89 posts

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???



Scotsmanscott

Scotsmanscott
  • Members
  • 20 posts

Posted 20 December 2003 - 00:13

REINSTALLMODE option "a" should help, but would apply to all files in the feature(s).



Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

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

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

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.