wix补丁PYRO0103:系统找不到文件

我曾尝试为我的应用程序构build一个补丁。 我需要replace两个文件,仅此而已。 使用引导程序获得了文件,但是当卸载引导程序时,文件已经消失了,而不是被旧的(当然)取代。 我添加Keypath = yes“到我的应用程序包(旧的和新的),希望这会得到我的问题解决,但没有。

我一直在遵循这个教程: http : //wix.tramontana.co.hu/tutorial/upgrades-and-modularization/patchwork

这是我从我的命令行运行时得到的问题:

C:\Program Files (x86)\WiX Toolset v3.8\bin>pyro.exe C:\Work\Dev\App\ Patch\Patch.wixmsp -out Patch.msp -t Sample C:\\Work\Dev\App\Patch\dif f.wixmst 

结果是这样的:

 C:\Work\Dev\App\Installer_3.6.2\AppInstaller\Manager.wxs(181) : error PYRO0103 : The system cannot find the file '..\App\3.6.2\Manager\Image s\sort_down_small.png'. C:\Work\Dev\App\Installer_3.6.2\AppInstaller\Manager.wxs(182) : error PYRO0103 : The system cannot find the file '..\App\3.6.2\Manager\Image s\sort_up_small.png'. C:\Work\Dev\App\Installer_3.6.2\AppInstaller\Manager.wxs(182) : error PYRO0103 : The system cannot find the file '..\App\3.6.2\Manager\Image s\sort_up_small.png'. ............ 

有趣的是我的patch.wxs不包括Images。

 <?xml version='1.0' encoding='UTF-8'?> <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> <Patch AllowRemoval="yes" Manufacturer="Company" MoreInfoURL="www.Company.com" DisplayName="App 3.6.2 patch" Description="Small Update Patch" Classification="Update"> <Media Id='5000' Cabinet='Sample.cab'> <PatchBaseline Id='Sample'/> </Media> <PatchFamily Id='SamplePatchFamily' Version='1.5.0.0' Supersede='yes'> <ComponentRef Id="Assemblies"/> </PatchFamily> 

我能做什么?

当谷歌search时,我发现这个: http : //windows-installer-xml-wix-toolset.687559.n2.nabble.com/error-PYRO0103-The-system-cannot-find-the-file-UI-Icons-appicon- ICO-IF-APPICON-ICO-是-在-我-最新-WB-td4600799.html

这句话可能会有所帮助,但我不明白这一点,谷歌search没有给我一个很好的例证:

“通过将.msi文件的扩展名更改为.wixout并将这两个参数添加到光源,将原始命令行更改为light.exe:-xo -b”

问候,安德烈亚斯

创建MSI安装程序时必须更改参数。

假设你创建了安装程序Installer.msi,直到现在:

 candle Installer.wxs -out Installer.wixobj light Installer.wixobj -out Installer.msi 

你必须改变它

 candle Installer.wxs -out Installer.wixobj light -bf -xo Installer.wixobj -out Installer.wixout light Installer.wixout -out Installer.msi 

用新旧安装程序来做到这一点。

现在你可以用.wixpdb文件来创建你的diff.wixmst

 torch -p -xi (PathToOldInstaller)\Installer.wixpdb (PathToNewInstaller)\Installer.wixpdb -out diff.wixmst 

最后创建补丁

 candle patch.wxs light patch.wixobj pyro patch.wixmsp -out patch.msp -t Sample diff.wixmst