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="&quot;[$(var.SystemFolder)]net.exe&quot; start 
NS$EventingMSSolveInstance" />
<CustomAction Id="QtExecCmdLineRun9" BinaryKey="WixCA" DllEntry="CAQuietExec" 
Execute="deferred" Return="ignore" />
<CustomAction Id="QtExecCmdLineSet102" Property="QtExecCmdLineRun102" 
Value="&quot;[$(var.SystemFolder)]net.exe&quot; 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

Reply via email to