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

Help files


3 replies to this topic

dGabay

dGabay
  • Members
  • 22 posts

Posted 27 January 2004 - 20:51

Why does a help file (.chm) need to be in its own component and set as the key file? I've read this in the help on setting up components, but there is no explanation.

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 27 January 2004 - 21:46

There are several reasons for this. Components are only installed/uninstalled as a unit, and windows installer decides whether to install/uninstall/update a component based on its key-file. All other files in a component will only be affected if windows installer detects that the key file of the component should be added/removed/updated. What this means is that any file that requires to be "evaluated on its own" should be put in its own component to ensure that their upgrade or removal is not "dependent" on any other files. EXE, DLL and help files are files that tend to change when an upgrade is created. Hence the suggestion to put them in separate components so that windows installer "pays special attention" to these files and upgrades them correctly independently of other files.

There are also other reasons why you should put EXE and DLL files in separate components. For example Installshield has the feature called "COM Extract at build" which means that it will extract COM info from executables at build time and put everything into the MSI database.
For this feature to work you should not put several COM servers in the same component (the COM file should at least be the key file of the component it is in). Further: since a component is always installed as a unit the update of the key file in a large component would cause an enormous update of all component files (which might not be necessary).

Finally: don't always use one component per file. This would cause performance to suffer greatly. Instead, put files that are not executables and that tend to change together in a single component.
Regards
-Stein Åsmul

dGabay

dGabay
  • Members
  • 22 posts

Posted 27 January 2004 - 23:17

The reason why I'm asking is because I'm having some trouble with non-versioned files getting downgraded by a different version of the same merge module. We have 2 different products installing the same files to the same folders. One of the files getting stepped on is the help, and I was considering making it a companion file to a versioned file. What are your thoughts?

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 27 January 2004 - 23:54

I think adding the help file as a companion file to a versioned component will do the trick. It is also possible to "fake" a version number for the file in Installshield Developer. Go to the component the file is in, right click the file, set "override system version". Never tried this, but it should work.

See here for some more info on replacement of unversioned files: http://forum.install...?showtopic=9277

Edited by Glytzhkof, 27 January 2004 - 23:55.

Regards
-Stein Åsmul