I can't really comment on the inner workings of the msi engine as I'm not privy 
to the details. The bottom line is that with the minor upgrades, in order for 
the cached version to be updated and then the upgrade to run, you need to pass 
in the parameters somehow. Doing it with an exe is not really too difficult.

You can always just author a major upgrade if passing parameters doesn't work 
for you. It's been this way for ever and I doubt it would change anytime soon.

There is probably documentation somewhere on the Internet that describes in 
detail when properties get set, etc, but I don't have a link handy.

Do you have any books on Windows Installer? The last one I purchased was by 
Phil Wilson (who posts here) and it may have some of the details you are 
looking for.

-----Original Message-----
From: Martin Lierschof [mailto:mliersc...@vizrt.com]
Sent: Tuesday, December 16, 2008 10:37 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] Small and Minor updates, again!

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:a-iae...@microsoft.com]
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:mliersc...@vizrt.com]
Sent: Tuesday, December 16, 2008 1:23 AM
To: wix-users@lists.sourceforge.net
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
WiX-users@lists.sourceforge.net
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
WiX-users@lists.sourceforge.net
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
WiX-users@lists.sourceforge.net
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
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to