Thanks.   I'm now using the following Patch.wixproj postbuild events to 
automate the generation of msp output using either new wix3 way or old msimsp 
way.

<!-- new wix3 way for patch generation -->
    <Patch AllowRemoval="yes" Description="!(loc.ProductName)" 
Manufacturer="!(loc.ProductName)" MoreInfoURL="!(loc.ProductUrl)" 
Classification="Update" DisplayName="!(loc.ProductName)">

        <Media Id="5000" Cabinet="Rtm.cab">
            <PatchBaseline Id="Rtm" />
        </Media>

        <PatchFamilyRef Id="v11ReleasePatchFamily"/>
    </Patch>

    <Fragment>
        <PatchFamily Id="v11ReleasePatchFamily" Version="1.0.0.0" 
Supersede="yes">
            <ComponentRef Id="Service1" />
        </PatchFamily>
    </Fragment>

Patch.wixproj | postBuild event
move /y "$(TargetDir)en-us\$(TargetName).msi" 
"$(ProjectDir)obj\$(Configuration)\$(TargetName).wixmsp"
robocopy "\\rpbuildagent03\builds\RXP Eventing\v1.0adminInstallAlt" 
"$(ProjectDir)obj\$(Configuration)\v1.0adminInstallAlt" /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"
"$(MSBuildExtensionsPath)\..\Windows Installer XML v3\bin\torch.exe" -p -ax 
"$(ProjectDir)obj\$(Configuration)\extractedAdminInstallBinaries" 
"$(ProjectDir)obj\$(Configuration)\v1.0adminInstall\RP Event Notification 
Service.msi" "$(ProjectDir)obj\$(Configuration)\v1.1adminInstall\RP Event 
Notification Service.msi" -out 
"$(ProjectDir)obj\$(Configuration)\$(TargetName).wixmst"
"$(MSBuildExtensionsPath)\..\Windows Installer XML v3\bin\pyro.exe 
"$(ProjectDir)obj\$(Configuration)\$(TargetName).wixmsp" -out 
"$(TargetDir)en-us\$(TargetName).msp" -t Rtm 
"$(ProjectDir)obj\$(Configuration)\$(TargetName).wixmst"
cmd /c echo end processing patch post-build event command lines


<!-- old msimsp way for patch generation -->
    <PatchCreation Id="C86050B6-37EC-4BE8-A9D0-A9C61DA42ED6"
        CleanWorkingFolder="yes"
        OutputPath="!(loc.ProductName).pcp"
        WholeFilesOnly="yes">

        <PatchInformation
            Description="!(loc.ProductName)"
            Comments="!(loc.ProductName)"
            ShortNames="no" Languages="1033" Compressed="yes"
            Manufacturer="!(loc.ProductManufacturer)" />

        <PatchMetadata AllowRemoval="yes"
            Description="!(loc.ProductName)"
            ManufacturerName="!(loc.ProductManufacturer)"
            TargetProductName="!(loc.ProductName)"
            MoreInfoURL="!(loc.ProductUrl)"
            Classification="Update"
            DisplayName="!(loc.ProductName)" />

        <Family DiskId="5000" MediaSrcProp="v11Patch" Name="v11Patch" 
SequenceStart="5000">
            <UpgradeImage Id="v11Upgrade"
                
SourceFile="$(var.ProjectDir)obj\$(var.Configuration)\v1.1adminInstall\RP Event 
Notification Service.msi">
                <TargetImage Id="v10Target" IgnoreMissingFiles="no" Order="2"
                    
SourceFile="$(var.ProjectDir)obj\$(var.Configuration)\v1.0adminInstall\RP Event 
Notification Service.msi" />
            </UpgradeImage>
        </Family>

        <PatchSequence PatchFamily="EventingV11PatchFamily" Sequence="1.0.0.0" 
Supersede="yes" />
    </PatchCreation>

Patch.wixproj | postBuild event
move /y "$(TargetDir)en-us\$(TargetName).msi" 
"$(ProjectDir)obj\$(Configuration)\$(TargetName).pcp"
robocopy "\\rpbuildagent03\builds\RXP Eventing\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"
pushd "$(TargetDir)en-us\" & "C:\Program Files\Microsoft 
SDKs\Windows\v6.0A\Bin\MsiMsp.exe" -s 
"$(ProjectDir)obj\$(Configuration)\$(TargetName).pcp" -p "$(TargetName).msp" -l 
"$(TargetName).log" & popd
cmd /c echo end processing patch post-build event command lines

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bob Arnson
Sent: Saturday, September 13, 2008 9:22 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] is there a way to get current wix vs08 project 
extensions to output a patch msp?

Robert O'Brien wrote:
> Question - if the only thing different in the light command that gets applied 
> using the current wix project templet is ".msi" versus ".pcp" then is the 
> contents of the a file going to be right, in other words can I just rename 
> the file in a postBuild event step in order to get the desired .pcp file that 
> I can then run msimsp.exe against to produce my patch .msp file output.
>

I believe so. A .pcp is just another MSI database. The WiX v3 patching
tools use different tools that aren't supported in Votive.

--
sig://boB
http://joyofsetup.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

Reply via email to