I installed a program with a MSI package.
Now I have to update the program and I have its new MSI package.
How can i do? Should I uninstall the old program with its old MSI package and install the new program with the new MSI package or I only install the new MSI package?
Really depends on the package. Some MSIs are smart enough to uninstall the older package or simply update its own code. Test or contact the vendor.
If the vendor has added the unistallation code into the new package, can I run the new package as it is or should I add any property?
Again, hard to say. I've had packages with uninstall builtin and they work very well, and again, ones that sucked. I always test. I usually test:
- If you have multiple revs of a package (version 2,3,4, etc...) test the uninstall with all of them. I
- Make sure you test the install/uninstall with the package running/open. Yeah your users will probably be using the app.
- Check for reboots (see 2). Sometimes the app will uninstall the older app and install the new app and will not require a reboot because the older app was not open. Then you go and install it and it needs a reboot becuase the older app was open.
- Always create a verbose MSI log.
- Yadda, Yadda, Yadda....
Thank you for your reply I will try. Could you answer another question? The package always installs a program link in %ALLUSERSPROFILE% but if I want to install in %ALLUSERSPROFILE%\MyPrograms using the property ProgramMenuFolder'=%ALLUSERSPROFILE%\MyPrograms it doesn't work. How can I do?
Thanks a lot
Question, how are you setting this property - commandline, or repackaging the MSI? If repackaging what tool are you using.
Seems to be the same as this http://community.acresso.com/archive/index.php?t-59869.html
Since the ALLUSERS property is already set I'm wondering if the ProgramMenuFolder=%ALLUSERSPROFILE%\MyPrograms needs to be just ProgramMenuFolder=\MyPrograms or ProgramMenuFolder=MyPrograms
Just a guess since I've never tried this before on the commandline.