Windows wix修补程序PYRO0103:系统找不到该文件

Windows wix修补程序PYRO0103:系统找不到该文件,windows,wix,windows-installer,patch,pyro,Windows,Wix,Windows Installer,Patch,Pyro,我已尝试为我的应用程序构建修补程序。我需要替换两个文件,仅此而已。使用引导程序可以将文件放在适当的位置,但是卸载引导程序时,文件不见了,并且没有被旧文件替换(当然)。我在我的应用程序包(旧的和新的)中添加了Keypath=yes,希望它能解决我的问题,但不是 我一直在学习本教程: 以下是从命令行运行此命令时遇到的问题: C:\Program Files (x86)\WiX Toolset v3.8\bin>pyro.exe C:\Work\Dev\App\ Patch\Patch.wixm

我已尝试为我的应用程序构建修补程序。我需要替换两个文件,仅此而已。使用引导程序可以将文件放在适当的位置,但是卸载引导程序时,文件不见了,并且没有被旧文件替换(当然)。我在我的应用程序包(旧的和新的)中添加了Keypath=yes,希望它能解决我的问题,但不是

我一直在学习本教程:

以下是从命令行运行此命令时遇到的问题:

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不包括图像

<?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>

我能做什么

我在谷歌搜索时发现:

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

“通过更改 将.msi文件扩展名改为.wixout并添加这两个参数 点亮:-xo-b“

问候,,
Andreas

创建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
使用新旧安装程序执行此操作

现在,您可以使用torch和.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

我还没有解决这个问题,但从三月份开始它也就不起作用了。我认为你走上了正确的轨道。你尝试过这个方法吗?如果是的,它仍然不起作用,那么错误仍然是一样的吗?这就是它解决我问题的方式,所以我认为它也应该对你的问题起作用。据我记忆所及,我确实让它起作用了(ish),可能是使用您的方法。但安装程序随后告诉我,这些文件之间没有任何差异。我唯一更改的是两个dll文件。我用两个新文件替换了旧文件。我已粘贴了dll文件代码。“”