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

Use of Upgrade table and dependents


4 replies to this topic

FabianoMCardoso

FabianoMCardoso
  • Members
  • 3 posts

Posted 19 May 2004 - 18:32

I'm working to enable upgrade capability (like a minor upgrade) to my setup package, but can't get it to work properly. First, I created my .msi file using Visual Studio Installer 1.1, then I edited it using Orca. I added the Upgrade table with one single row (for version 1.5.0 to be installed):

UpgradeCode: {041F26EE-4DF3-44BC-A468-EA6478CA826F}
VersionMin: 1.3.0
VersionMax: 1.4.0
Language: <NULL>
Attributes: 768
Remove: <NULL>
ActionProperty: UPGRADE_SW

The ActionProperty "UPGRADE_SW" is defined on SecureCustomProperties. The UpgradeCode and Product Code are the same for all versions. I assigned new GUIDs for PackageCode and changed the ProductVersion. I added the actions FindRelatedProducts, MigrateFeatureStates and RemoveExistingProducts to the InstallExecuteSequence table, according to the MSDN material on MSI. The files sets are equal in all versions differing only on the contents of each individual file.

When I double click the 1.5.0 version of my setup package, I get a message "The installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package." And it won't proceed. However if I change the ProductCode for this new version (1.5.0), it will work.

Could somebody shed some light on this? Why can't I get a minor upgrade setup package to work? Only major upgrades seem to work (with the use of Upgrade table, the problem of duplicated entries won't occur).

Thanks in advance.
Fabiano


Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 20 May 2004 - 04:56

The upgrade table is really used for major upgrades. In a minor update you are not looking for a related product, you are looking for the same product that is already installed.

What you need is not the upgrade table but a command line:

msiexec /i yoursetup.msi REINSTALLMODE=voums REINSTALL=ALL

More info: http://msdn.microsof....asp?frame=true
Regards
-Stein Åsmul

FabianoMCardoso

FabianoMCardoso
  • Members
  • 3 posts

Posted 20 May 2004 - 18:18

Thanks for your help. It worked. If I could ask for a last assistance, I have one more question.

I need to ship this setup package to customers who are not very acquainted with computer terminology, so I need to make the UI as simple as possible. I would like to use the default installation screens generated by the Visual Studio Installer 1.1.

How could I configure setup.ini or myfile.msi to achieve the same functionality delivered by "msiexec /i yoursetup.msi REINSTALLMODE=voums REINSTALL=ALL" using GUI instead of command line options? My software update package just changes the contents of the files, ProductVersion and PackageCode. It doesn't add, remove or change features, components, GUID codes, Registry data or anything else. Therefore it should be a small update or a minor upgrade. If I can't accomplish it (using minor upgrade with a simple GUI), I will have to continue with the major upgrade solution, even though I know it's way more than I need for this scenario.

Thanks for your attention again.
Fabiano

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 21 May 2004 - 04:13

As much as I have used windows installer, I have unfortunately never used minor upgrades, so I am afraid I can't answer this without risking saying something wrong. I do know that there is a feature to wrap the setup in a setup.exe that will automatically apply the command line for you. However, the command line mentioned must only be used if there is a prior installation of the product. If it is used for a fresh install the setup won't install properly.
Regards
-Stein Åsmul

FabianoMCardoso

FabianoMCardoso
  • Members
  • 3 posts

Posted 21 May 2004 - 16:52

Thanks for your help. cool.gif