If you use the Upgrade tag, you are doing a major upgrade. In this case, the old version is removed and the new version is installed. If the files change between the versions then you will get the latest versions after the upgrade. Setting the OnlyDetect parameter to "yes" means that you just want to detect an older version and not actually upgrade it. Once you set it to "no", the expected behavior of updating took place. Any files with newer versions, etc, will be replaced.
There is some very good info on Major Upgrades here: http://blogs.technet.com/alexshev/archive/2008/02/15/from-msi-to-wix-part-8-major-upgrade.aspx For the minor upgrade and small update you don't make use of the Update tag at all. Also, you listed below that the package guid didn't change for one scenario. You should always have a different package guid for every package built. -----Original Message----- From: polan [mailto:[EMAIL PROTECTED] Sent: Tuesday, October 07, 2008 11:17 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] How Update / Upgrade strategy (small, minor, major) affect file overriding? I've been trying to develop some upgrade strategy for my program. What I want to achieve is an installer which would be able to install lets say version 1.0.3, but also upgrade the versions 1.0.0 or 1.0.1 to version 1.0.3. To make the things simple lets say that installing is just copying some files and upgrading is changing the old versions of files to the new ones. I also wouldn't like to have multiple positions in add/remove windows dialog (just one after every update/install/upgrade). I've read the tutorial http://www.tramontana.co.hu/wix/lesson4.php It gives good information about when you have to use major upgrade, but it doesn't realy says what is the difference between the way the updates work. It seemed that small update or minor upgrade is well enough for me. I kept on playing with them (and with the major upgrade also when I didn't succeed) In the small and minor (to avoid error of already installed app) I am starting the msi like this: msiexec /i ExampleInstaller.msi REINSTALALL=ALL REINSTALLMODE=vomus /L*v c:\msilog.txt Just to make things clear: small updates: product guid not changed, package guid not changed, version changed minor upgrade: product guid not changed, package guid changed, version changed major upgrade: product guid changed, package guid changed, version changed In all of this I was trying to update the application without uninstalling. First I tried without Upgrade section at all, then I added also following: <Upgrade Id="{0253FF1A-030B-4646-9540-7BBF890BA52C}"> <UpgradeVersion OnlyDetect="yes" Property='PATCHFOUND' IncludeMinimum='yes' Minimum='1.0.0' /> </Upgrade> The installation goes on fine and is finished, but whatever the update strategy is, the files don't get updated. They are all the same after the installation as before. It changes when I use the OnlyDetect attribute set to no: <Upgrade Id="{0253FF1A-030B-4646-9540-7BBF890BA52C}"> <UpgradeVersion OnlyDetect="no" Property='PATCHFOUND' IncludeMinimum='yes' Minimum='1.0.0' /> </Upgrade> Then the previous installation gets uninstalled and the files are fresh. But as I understood it is not needed to uninstall old version to change some files. How does it work finally? I couldn't find any specific information about this in wix docu or on google. Sorry for the long introduction... These are my questions (I'll be grateful for the answer or pointing to some documentation) How does the installation strategy (small, minor, major) affect replacing changed files? When does the new position in the add/remove windows dialog is created and when it is not? I use the newest version of wix 3 and votive. I generated initially the fragment with components using heat, and it stays the same in every next version of installer (the guids are not being changed). This is a sample of component that does not get overriden: <Component Id="MyApp.exe" Guid="{F51AFCCC-97E0-4610-AB91-77A35C1DFF70}"> <File Id="MyApp.exe" Name="MyApp.exe" KeyPath="yes" Source="$(var.MyProject.TargetDir)MyApp.exe" /> </Component> cheers Przemek -- View this message in context: http://n2.nabble.com/How-Update---Upgrade-strategy-%28small%2C-minor%2C-major%29-affect-file-overriding--tp1304357p1304357.html Sent from the wix-users mailing list archive at Nabble.com. ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users