Hi,
I run into the following problem while trying to create an minor upgrade for an installation (ISDev 8.0):
When I change a file in a component, that doesn't have a key file, I get the error that the key for that component doesn't change, an so in an minor upgrade szenario that file won't be installed.
But the component doesn't have a key file, so I can't be changed... And due to the IS Knowledge Base, a components key file must not be changed in an upgrade.
Anybody got a solution for this (besides a major upgrade)?
Regards,
Lonny
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.
Upgrade component without a key file
Started by
lonny
, Dec 16 2002 13:32
4 replies to this topic
Posted 16 December 2002 - 15:57
After a lot of searching and reading I found the following in the Windows Install SDK Help:
Replacing Existing Files: Only if a components key file changes, MSI determines for each installed file if it should be replaced.
Based on this, is the following conclusion correct?
If I have to install e.g. 100 MPEG files, I need to add an artificial key file to that component and increase that key files version number every time I add/modify one of the mpeg-files, so that I can build an upgrade installation?
Replacing Existing Files: Only if a components key file changes, MSI determines for each installed file if it should be replaced.
Based on this, is the following conclusion correct?
If I have to install e.g. 100 MPEG files, I need to add an artificial key file to that component and increase that key files version number every time I add/modify one of the mpeg-files, so that I can build an upgrade installation?
Posted 19 December 2002 - 07:25
Yeah, creating a exe with a version and setting this as your key file would solve your problem.
I dont do minor upgrades with my install, I always do major ones and I dont have key files set and I never run into problems like this.
I dont do minor upgrades with my install, I always do major ones and I dont have key files set and I never run into problems like this.
Posted 19 December 2002 - 07:26
Yeah, creating a exe with a version and setting this as your key file would solve your problem.
I dont do minor upgrades with my install, I always do major ones and I dont have key files set and I never run into problems like this.
I dont do minor upgrades with my install, I always do major ones and I dont have key files set and I never run into problems like this.
Posted 19 December 2002 - 13:50
Hi luke_s,
creating an exe file is a problem, cause it don't got one per component (that's like using aritficial version file I mentioned in my first post). I read about companion key files, but there is the problem if I change only a few files, MSI checks all files for changes (and I got installations with a few thousand files).
So I'm using a major upgrade (major upgrade item in Dev 8.0). The only problem here is, that all registry values got overwritten. I solved this be making a backup in OnBegin() and restoring it in OnEnd().
I think it's a design error in MSI, that you can't make an upgrade without a component key file. If no key file is defined, simple check all files in a component if the are present, have changed... Exact the same is done when a key file changes.
Regards,
Lonny
creating an exe file is a problem, cause it don't got one per component (that's like using aritficial version file I mentioned in my first post). I read about companion key files, but there is the problem if I change only a few files, MSI checks all files for changes (and I got installations with a few thousand files).
So I'm using a major upgrade (major upgrade item in Dev 8.0). The only problem here is, that all registry values got overwritten. I solved this be making a backup in OnBegin() and restoring it in OnEnd().
I think it's a design error in MSI, that you can't make an upgrade without a component key file. If no key file is defined, simple check all files in a component if the are present, have changed... Exact the same is done when a key file changes.
Regards,
Lonny