So, it is impossible to create a Small or Minor Update without entering a
command to a shell or distributing a msi to a executable which does this little
job?
I have been reading documents, and did testing even by trial and error
principle, on that for one day but this just confuses me.
This fires up some serious questions:
* How to confront a normal user with a msi package(in this case it is not
possible)?
* Why do someone need a third party application (or build his own setup.exe) if
it's generally possible by doing that with msiexec?
* Small, Minor and Major upgrades don't make any sense(this case hardened that
fact for me). Why I am not prompted when generating a major upgrade but, when I
do some updating which normally is from version 1.0 to 1.0.x a small
difference. This makes no sense at all.
* Why is the option to reinstall, upgrade or just execute the distribution of
differences on new version not left to the distributor a normal could not be
confronted with this.
I do not blame wix for that because this job should be left to do for msiexec,
wix is already providing that features, but the execution order of msiexec
should be thought of.
For example, you can set this Properties, but they don't take effect when a msi
is launched, when will this properties be loaded:
<Property Id="MSIUNINSTALLSUPERSEDEDCOMPONENTS" Value="1"/>
<Property Id="REINSTALL" Value="ALL" />
<Property Id="REINSTALLMODE" Value="vomus"/>
after/before LaunchConditions(even the name says that), before/after AppSearch?
If I look into my log file it even is not fully clear but they definitely
loaded after the prompt to uninstall the application before updating.
I am not sure but since I start reading the documents for wix/msi and I did
read them, I could not find an execution order or something for msiexec.
Sorry for the long story but this story don't fit for me.
Regards
Martin Lierschof
-----Ursprüngliche Nachricht-----
Von: Ian Elliott (Excell Data Corporation) [mailto:[email protected]]
Gesendet: Dienstag, 16. Dezember 2008 18:59
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Small and Minor updates, again!
I'm not aware of any method other than command line or exe file. That is the
official guidance from Microsoft.
http://msdn.microsoft.com/en-us/library/aa367574(VS.85).aspx
-----Original Message-----
From: Martin Lierschof [mailto:[email protected]]
Sent: Tuesday, December 16, 2008 1:23 AM
To: [email protected]
Subject: [WiX-users] Small and Minor updates, again!
Hi guys,
I need a double click solution on msi files, for small and minor updates. And
as you may know that is not working with just a double click. I was looking
through the whole user list and tried every suggestion from before, even other
solutions but I cannot get that working. So that's what I tried:
--------------------------------------------------------------------------------
<Property Id="MSIUNINSTALLSUPERSEDEDCOMPONENTS" Value="1"/>
<Property Id="REINSTALL" Value="ALL" />
<Property Id="REINSTALLMODE" Value="vomus"/>
<Upgrade Id="$(var.UpgradeCode)">
<UpgradeVersion Minimum="1.0.1.0" IncludeMinimum="no" OnlyDetect="yes"
Property="NEWERVERSIONFOUND" />
<UpgradeVersion Minimum="1.0.0.0" IncludeMinimum="yes"
Maximum="1.0.1.0" IncludeMaximum="no" Property="OLDERVERSIONFOUND" />
</Upgrade>
<!-- for msp small update or minor upgrade processing -->
<CustomAction Id="SetMspSmallUpdateOrMinorUpgradeReInstallProperty"
Property="REINSTALL" Value="ALL" />
<CustomAction Id="SetMspSmallUpdateOrMinorUpgradeReInstallModeProperty"
Property="REINSTALLMODE" Value="omus" />
<!-- for msu minor upgrade processing -->
<CustomAction Id="SetMsiMinorUpgradeReInstallProperty" Property="REINSTALL"
Value="ALL" />
<CustomAction Id="SetMsiMinorUpgradeReInstallModeProperty"
Property="REINSTALLMODE" Value="vomus" />
<!-- for msi major upgrade processing -->
<CustomAction Id="SetMsiMajorUpgradePreventDowngradingError" Error="Newer
version already installed." />
<CustomAction Id="SetMsiMajorUpgradeReInstallProperty" Property="REINSTALL"
Value="ALL" />
<CustomAction Id="SetMsiMajorUpgradeReInstallModeProperty"
Property="REINSTALLMODE" Value="vomus" />
<InstallExecuteSequence>
<!-- for msp small update or minor upgrade processing -->
<!--<Custom Action="SetMspSmallUpdateOrMinorUpgradeReInstallProperty"
After="LaunchConditions">PATCH And Installed</Custom>
<Custom Action="SetMspSmallUpdateOrMinorUpgradeReInstallModeProperty"
After="LaunchConditions">PATCH And Installed</Custom>-->
<Custom Action="SetMspSmallUpdateOrMinorUpgradeReInstallProperty"
After="LaunchConditions">QFEUpgrade=2</Custom>
<Custom Action="SetMspSmallUpdateOrMinorUpgradeReInstallModeProperty"
After="LaunchConditions">QFEUpgrade=2</Custom>
<!-- for msi minor upgrade processing -->
<Custom Action="SetMsiMinorUpgradeReInstallProperty"
After="LaunchConditions">QFEUpgrade=1</Custom>
<Custom Action="SetMsiMinorUpgradeReInstallModeProperty"
After="LaunchConditions">QFEUpgrade=1</Custom>
<!-- for msi major upgrade processing -->
<Custom Action="SetMsiMajorUpgradePreventDowngradingError"
After="FindRelatedProducts">NEWERVERSIONFOUND</Custom>
<Custom Action="SetMsiMajorUpgradeReInstallProperty"
After="FindRelatedProducts">OLDERVERSIONFOUND</Custom>
<Custom Action="SetMsiMajorUpgradeReInstallModeProperty"
After="FindRelatedProducts">OLDERVERSIONFOUND</Custom>
<RemoveExistingProducts
After="InstallFinalize">OLDERVERSIONFOUND</RemoveExistingProducts> <!-- note -
windows installer sets UPGRADINGPRODUCTCODE property when this action runs -->
</InstallExecuteSequence>
--------------------------------------------------------------------------------
Iam going nuts with that. It's always working when calling via commandline
"msiexec /i my.msi /l*v log.log REINSTALL=ALL REINSTALLMODE=vomus" but the log
shows no different until the message shows up, which means to uninstall the
current program.
The problem is the configuration, I do not want that the user have to configure
everything again, just because of a small update.
If someone has another way to do that, feel free to post solutions here. I
would even try to build an Setup exe (if you have a small code) which executes
the msi but that would be the last solution.
kindly
Martin Lierschof
Software Engineer
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you. Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you. Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you. Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users