[wix-users] Patch Building Question
Orzyszek Andreas
Andreas.Orzyszek at dentsplysirona.com
Wed Jun 29 06:47:58 PDT 2016
Hi,
I am getting strange results when trying to build a patch.
The example on the website is not precise about the version and product ids.
I used this source to build the patch:
Product.wxs Version 1.0:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="{0E3DB235-1AB4-445C-9DF7-9E21B953CDBB}"
Name="WiX Patch Example Product"
Language="1033"
Version="4.5.0.1"
Manufacturer="Dynamo Corporation"
UpgradeCode="{8A42A449-994E-407E-91D6-450BBFF57134}">
<Package Description="Installs a file that will be patched."
Comments="This Product does not install any executables"
InstallerVersion="500"
Compressed="yes" />
<MajorUpgrade AllowSameVersionUpgrades="yes" AllowDowngrades="no" Schedule="afterInstallValidate" DowngradeErrorMessage="A newer version of [ProductName] is already installed."/>
<MediaTemplate CabinetTemplate="cer{0}.cab" CompressionLevel="medium" EmbedCab="yes" MaximumUncompressedMediaSize="1000"/>
<FeatureRef Id="SampleProductFeature"/>
</Product>
<Fragment>
<Feature Id="SampleProductFeature" Title="Sample Product Feature" Level="1">
<ComponentRef Id="Blocks.dat" />
</Feature>
</Fragment>
<Fragment>
<DirectoryRef Id="SampleProductFolder">
<Component Id="Blocks.dat">
<File Id="Blocks.dat" Name="Blocks.dat" Source="D:\PlasticWorkspaces\Installer\Sources\PatchPackages\CEREC\Blocks.dat" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="PFiles">
<Directory Id="SampleProductFolder" Name="Patch Sample Directory">
</Directory>
</Directory>
</Directory>
</Fragment>
</Wix>
Product.wxs Version 1.1:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="{B53C2397-0841-4208-9EC9-0C47EB4A0B6D}"
Name="WiX Patch Example Product"
Language="1033"
Version="4.5.0.2"
Manufacturer="Dynamo Corporation"
UpgradeCode="{8A42A449-994E-407E-91D6-450BBFF57134}">
<Package Description="Installs a file that will be patched."
Comments="This Product does not install any executables"
InstallerVersion="500"
Compressed="yes" />
<MajorUpgrade AllowSameVersionUpgrades="yes" AllowDowngrades="no" Schedule="afterInstallValidate" DowngradeErrorMessage="A newer version of [ProductName] is already installed."/>
<MediaTemplate CabinetTemplate="cer{0}.cab" CompressionLevel="medium" EmbedCab="yes" MaximumUncompressedMediaSize="1000"/>
<FeatureRef Id="SampleProductFeature"/>
</Product>
<Fragment>
<Feature Id="SampleProductFeature" Title="Sample Product Feature" Level="1">
<ComponentRef Id="Blocks.dat" />
</Feature>
</Fragment>
<Fragment>
<DirectoryRef Id="SampleProductFolder">
<Component Id="Blocks.dat">
<File Id="Blocks.dat" Name="Blocks.dat" Source="D:\PlasticWorkspaces\Installer\Sources\PatchPackages\CEREC\Blocks.dat" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="PFiles">
<Directory Id="SampleProductFolder" Name="Patch Sample Directory">
</Directory>
</Directory>
</Directory>
</Fragment>
</Wix>
As you can see I changed the productcode and the productversion.
I also changed the only file between building Version 1.0 and Version 1.1.
I’m not sure if the toolset was able to detect the change in the sourcefile. But the creation time of the file for version 1.1 is newer then the one for version 1.0.
Maybe this is the cause of the problem.
Patch.wxs:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Patch
AllowRemoval="yes"
Manufacturer="Sirona Dental Systems GmbH"
DisplayName="Materialpack"
Description="Materialpack"
Classification="Service Pack" >
<Media Id="5000" Cabinet="rtm.cab">
<PatchBaseline Id="RTM"/>
</Media>
<PatchFamilyRef Id="RTMPatchFamily"/>
</Patch>
<Fragment>
<PatchFamily Id="RTMPatchFamily" Version="1.0.0.0">
<ComponentRef Id="Blocks.dat"/>
</PatchFamily>
</Fragment>
</Wix>
I then try to build the patch
1. D:\PlasticWorkspaces\Installer\Tools\WIX\310\torch.exe -p -xi 1.0\product10.wixpdb 1.1\product11.wixpdb -out diff.wixmst
2. D:\PlasticWorkspaces\Installer\Tools\WIX\310\candle.exe patch.wxs
3. D:\PlasticWorkspaces\Installer\Tools\WIX\310\light.exe patch.wixobj -out patch.wixmsp
4. D:\PlasticWorkspaces\Installer\Tools\WIX\310\pyro.exe patch.wixmsp -out patch.msp -t RTM diff.wixmst
But pyro creates this error:
D:\PlasticWorkspaces\Installer\Sources\PatchPackages\CEREC\Patch.wxs(10) : warning PYRO1079 : The cabinet 'rtm.cab' does not contain any files. If this patch contains no files, this warning can likely be safely ignored. Otherwise, try passing -p to torch.exe when first building the transforms, or add a ComponentRef to your PatchFamily authoring to pull changed files into the cabinet.
D:\PlasticWorkspaces\Installer\Sources\PatchPackages\CEREC\diff.wixmst : error PYRO0227 : The transform being built did not contain any differences so it could not be created.
If I put the file inside the version 1.0 and version 1.1 folders it seems to work.
Maybe someone has seen this before or can explain to me why this can’t work.
Is it possible to create a patch without changing the product id and/or productversion?
Thanks
Andreas
-----------------------------------------------------------------------------------------------------------
Sirona Dental Systems GmbH • HRB 24948 •
Vorsitzender des Aufsichtsrats: Dr. Erich Blum •
Sirona Dental Services GmbH • HRB 25817 •
Geschäftsführung: Rainer Berthan • Michael Geil •
Sitz der Gesellschaften: Bensheim • Registergericht: AG Darmstadt •
------------------------------------------------------------------------------------------------------------
Diese E-Mail ist ausschliesslich fuer den angesprochenen Adressaten
bestimmt und kann vertrauliche Informationen beinhalten.
--
This e-mail is intended only for the designated recipient(s). It may
contain confidential or proprietary information.
------------------------------------------------------------------------------------------------------------
More information about the wix-users
mailing list