Thanks for all the responses to my recent questions associated with getting
working v1.0 -> v1.0 minor update using msp & msi solutions pulled together.
At this point I believe I have what should be working sources and build output
to carry out a minor upgrade using both the msp & msi approaches. i've
attached my product, sequence, customaction and product patch sources if it is
of any help to others trying to accomplish the same thing. Below I also
included the Patch.wixproj postBuild event processing I using to generate my
patch build output in a tfs automated build friendly way to address current wix
project settings support not available for patch msp build output. For some
reason the customaction/sequences steps that attempt to set the necessary
reinstall and reinstallmode property settings for msp and msi minor upgrade
processing scenarios without requiring you do pass values on the command line
things don't work. If I pass them from the command line, e.g.
msiexec /p "My Service Deliverable Patch.msp" /qb reinstall=all
reinstallmode=omus /l* d:\temp\v10tov11patch.log
msiexec /i "My Service Deliverable.msi" /qb reinstall=all
reinstallmode=vomus /l* d:\temp\v10tov11upgrade.log
then the msp update doesn't succeed but the msi update does. Not sure what I
got going on to cause the msp to not work even when required props are set
using command line.
Some outstanding questions I have on the minor upgrade front. I have a dll
that I expect to be updated in both the msp and msi minor upgrade approach
which in an existing v1.0 install is going to be loaded and running in a
windows service process that will be in place as a result of the v1.0 install.
q1 - should I expect that minor upgrade using msp or msi can shuffle a new dll
into place that may be loaded in an active window service process w/o that
service needing to be stopped prior to the file update and restarted afterwards
or a reboot being required?
q2 - if I for safety reasons I do want to stop the windows service at start of
minor upgrade using msp or msi and restart it at the end of the minor upgrade
using msp or msi will adding the following customactions into my v1.1 msi and
setting the sequencing to ??? accomplish that?
<CustomAction Id="QtExecCmdLineSet9" Property="QtExecCmdLineRun9"
Value=""[$(var.SystemFolder)]net.exe" start
NS$EventingMSSolveInstance" />
<CustomAction Id="QtExecCmdLineRun9" BinaryKey="WixCA" DllEntry="CAQuietExec"
Execute="deferred" Return="ignore" />
<CustomAction Id="QtExecCmdLineSet102" Property="QtExecCmdLineRun102"
Value=""[$(var.SystemFolder)]net.exe" stop
NS$EventingMSSolveInstance" />
<CustomAction Id="QtExecCmdLineRun102" BinaryKey="WixCA" DllEntry="CAQuietExec"
Execute="deferred" Return="ignore" />
<Custom Action="QtExecCmdLineSet9" Before="???">Installed And PATCH or
UPGRADE</Custom>
<Custom Action="QtExecCmdLineRun9" Before="QtExecCmdLineSet9">Installed And
PATCH or UPGRADE </Custom>
<Custom Action="QtExecCmdLineSet102" Before="???">Installed And PATCH or
UPGRADE</Custom>
<Custom Action="QtExecCmdLineRun102" Before="QtExecCmdLineSet9">Installed And
PATCH or UPGRADE </Custom>
q2 - to command line public property settings, other than REINSTALLl and
REINSTALLMODE, have any relevance when processing a minor upgrade using msp or
msi solutions?
---------------------------------------------
move /y "$(TargetDir)en-us\$(TargetName).msi"
"$(TargetDir)en-us\$(TargetName).pcp"
robocopy "\\rpbuildagent03\builds\RXP
Eventing\v1.0adminInstall<file:///\\rpbuildagent03\builds\RXP%20Eventing\v1.0adminInstall>"
"$(ProjectDir)obj\$(Configuration)\v1.0adminInstall" /mir /r:0
if not exist "$(ProjectDir)obj\$(Configuration)\v1.1adminInstall" md
"$(ProjectDir)obj\$(Configuration)\v1.1adminInstall"
rem msiexec.exe /a "$(Setup.TargetDir)en-us\$(Setup.TargetFileName)" /qn
TARGETDIR="$(ProjectDir)obj\$(Configuration)\v1.1adminInstall" /l*
"$(ProjectDir)obj\$(Configuration)\v1.1adminInstall\RP Event Notification
Service.log"
if "$(IsDesktopBuild)" == "" msiexec.exe /a
"$(SolutionDir)Setup\Setup\bin\$(Configuration)\en-us\RP Event Notification
Service.msi" /qn TARGETDIR="$(ProjectDir)obj\$(Configuration)\v1.1adminInstall"
/l* "$(ProjectDir)obj\$(Configuration)\v1.1adminInstall\RP Event Notification
Service.log"
if "$(IsDesktopBuild)" == "false" msiexec.exe /a "$(OutDir)en-us\RP Event
Notification Service.msi" /qn
TARGETDIR="$(ProjectDir)obj\$(Configuration)\v1.1adminInstall" /l*
"$(ProjectDir)obj\$(Configuration)\v1.1adminInstall\RP Event Notification
Service.log"
if exist "$(TargetDir)en-us\$(TargetName).log" del
"$(TargetDir)en-us\$(TargetName).log"
rem "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\MsiMsp.exe" -s
"$(TargetDir)en-us\$(TargetName).pcp" -p "$(TargetDir)en-us\$(TargetName).msp"
-l "$(TargetDir)en-us\$(TargetName).log"
pushd "$(TargetDir)en-us\" & "C:\Program Files\Microsoft
SDKs\Windows\v6.0A\Bin\MsiMsp.exe" -s "$(TargetName).pcp" -p
"$(TargetName).msp" -l "$(TargetName).log" & popd
cmd /c echo end processing setup post-build event command lines
---------------------------------------------
-------------------------------------------------------------------------
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