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

Updating Msi - Urgent question


10 replies to this topic

TAL

TAL
  • Members
  • 77 posts

Posted 11 June 2001 - 08:26

Hi all,

I have an uggent issue, if anyone can help ASAP, i would realy appriciate it...

In my installation, we pack it in a zip file, and create an exe out of it.
My problem is that if the installation is alreay exists on the user's machine. and i made some changes in the msi file, when i run the new exe (which containes the modified msi) it does not read the new msi, but takes the msi that it saves under WINNT\Installer
how can "force" the msi to run the updated one, and not the one that he already has installer?.
i hope my question is clear, if not, please let me know, and i'll give some more detailed...

Thanks.


Doug Paida

Doug Paida
  • Members
  • 55 posts

Posted 11 June 2001 - 13:32

When you build your new msi file, you need to assign it a unique package code and product version number value.  Otherwise, Windows Installer will not be able to tell that you are delivering an updated package.  It sees that the package code matches a product that is already installed and assumes you want to work with that one.

SteveP

SteveP
  • Members
  • 126 posts

Posted 12 June 2001 - 22:38

Doug's answer is correct in general and as far as it goes.  The problem with changing the GUID's for each build, however, is that the installer will detect that an older version of the installation exists and require it to be uninstalled prior to continuing.

In our development builds, I keep the same GUID's.  This *does* revert to the cached version of the install, but the action initiated is a Maintenance Install, where the package can be removed.  Conveniently enough, Windows Installer is quite good at removing all traces of things it installs, so this actually offers a reasonable cleanup before the fresh install.  In our situation, all we have to do is execute the MSI package twice ... it uninstalls the old one and then installs the new one.  We confirm this by using (and displaying) build numbers.


TAL

TAL
  • Members
  • 77 posts

Posted 13 June 2001 - 08:19

Thanks Steve,

What i eventually did is a minor Upgrade, meaning that i only changed the version, and the package code.
But i am interesting in what you suggested.
Please if you can be more specific, and let me know exactly what you did. Did you add an Upgrade button to the UI?.
Thank u for your help.



Irina

Irina
  • Members
  • 227 posts

Posted 14 June 2001 - 19:42

Hi,
If you did only small changes such as adding files to existing components or change existing files you cam try to do minor Upgrade.
Change Package code
Change version number
Execute your install package with cmdline parameters
REINSTALLMODE=vomus, REINSTALL=ALL
(you can these parameters to setup.ini file in the section [StartUp] CmdLine=)
Good luck.

kris

kris
  • Members
  • 77 posts

Posted 26 November 2001 - 22:17

Hi, there, I am interested in what happened through this discussion topic.......first, I see that Doug says you assign "a unique package code and product version number value", then SteveP replies with the fact tht this will require the previous version  to be uninstalled prior to continuing" with the upgrade installation...then TAL replies that he did a minor upgrade by changing just the package code and version number, as Doug suggested....so, then, How was TAL able to make this work, without getting the dialog stating you need to uninstall the older version first?  What peice of info id I miss?  Thanks!

TAL

TAL
  • Members
  • 77 posts

Posted 27 November 2001 - 10:39

Hey Kris,

What i'm doing is in fact, forcing the msi to replace all exisiting files. i am NOT changing any GUID's. the only change i make is in the Productversion property, and only in the Minor section xx.xx.this one

in addition to that, i am using "vomus" to replace files.

Hope that helps.



kris

kris
  • Members
  • 77 posts

Posted 27 November 2001 - 14:01

Hey, Tal.....I am still confused...you just said you didn't change any GUID's, but you said before you DID change the package code, which is a GUID...???  So, are you saying that if I want to get an upgrade to work, where I just want to update some files and perhaps run a few extra Custom Actions on an upgrade, that all I have to do is change the ProductVersion number property and add REINSTALLMODE=voums to my setup.ini?  

Right now I have changed the package code (GUID) and the ProductVersion number and added the voums and REINSTALL=all to my setup.ini.....should I not change the package code, would this be better for the type of upgrade capability I am seeking?  

Thanks for your help so far, by the way!  


TAL

TAL
  • Members
  • 77 posts

Posted 27 November 2001 - 14:22

Hi Kris,

if your upgrade works fine as is, than cool, leave it that way. i was not able to use this, beacouse by changing the PackageCode it always asked me to remove existing product, and that is not what i need. i wanted to be able to take a "new" msi run it on a specific machine with a prev installation, and just replace ALL files. it works fine for me!. if you need the same thing as i did, give it a try.


kris

kris
  • Members
  • 77 posts

Posted 27 November 2001 - 14:51

Out of curiosity, you built the package with files uncompressed, and edited the setup.ini file with the voums condition to get it to work?  If not, and you run the .msi from command line with the vomus parameter, how do you get this configuration to the end user?

TAL

TAL
  • Members
  • 77 posts

Posted 28 November 2001 - 09:05

i zip the whole source dir, with the msi file, and create an exe. we are sending this exe to the users.