如何解决Wix工具集3.11中的BootstrapperApplicationRef?
我收到了与我的如何解决Wix工具集3.11中的BootstrapperApplicationRef?,wix,wix3.11,Wix,Wix3.11,我收到了与我的BootstrapperApplicationRef相关的错误消息,我不理解这些消息,因为它们来自基于众所周知的。可能是因为我使用了3.11版的工具集(这本书是基于3.6版的)?我的安装程序需要安装一些软件才能下载 这是我的wxs: <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi&
BootstrapperApplicationRef
相关的错误消息,我不理解这些消息,因为它们来自基于众所周知的。可能是因为我使用了3.11版的工具集(这本书是基于3.6版的)?我的安装程序需要安装一些软件才能下载
这是我的wxs:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Name="Awesome Software"
Version="1.0.0.0"
Manufacturer="Awesome Company"
UpgradeCode="c352f5c7-1dbe-416c-820d-685b058270d5">
<BootstrapperApplicationRef
Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<ExePackage Id="DymoLabelSoftware"
SourceFile="DLS8Setup.8.5.1.exe"
DownloadUrl="http://download.dymo.com/dymo/Software/Win/DLS8Setup.8.5.1.exe" />
</Chain>
</Bundle>
</Wix>
编译将导致以下错误消息:
对符号的未解析引用
'WixBootstrapperApplication:WixStandardBootstrapperApplication.RtfLicense'
如前所述更改此元素将导致以下消息:
对符号的未解析引用
'wixbootstrapper应用程序:WixNetFxExtension'
删除BootstrapperApplicationRef
会导致另一条错误消息:
对符号的未解析引用
'wixbootstrapper应用程序:WixNetFxExtension'
我可以理解有些事情没有解决,但找到的解决例子根本不起作用。我怎样才能解决这个问题?如何在不获取错误消息的情况下解析此引用
更新1
我试着用一个bootstrapper项目来实现这一点。这部分解决了我的问题
我刚刚收到另一条错误消息
系统找不到文件“DLS8Setup.8.5.1.exe”
这真奇怪。编译器不应该试图在编译时找到它。它可以在运行时下载。
我试图通过添加一个虚拟的DLS8Setup.8.5.1.exe
来实现这一点
但是,当在我的bin\Debug文件夹中查找我的结果时,我得到了一个应用程序,当双击时,它不会显示用户界面。这种方法并不能真正解决我的问题,它改变了我的问题
它只希望有一个安装程序,在启动时显示一些用户界面,并执行下载。就这些
更新2
使用“仅给出其他错误”
以下是基于您的更新的工作示例:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle Name="DLS8SetupBootstrapper" Version="1.0.0.0" Manufacturer="me" UpgradeCode="ada71964-11c8-4877-9544-f72fe65579c0">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense" />
<Chain>
<ExePackage Id="DymoLabelSoftware"
Name="DLS8Setup.8.5.1.exe"
Compressed="no"
DownloadUrl="http://download.dymo.com/dymo/Software/Win/DLS8Setup.8.5.1.exe">
<RemotePayload Description="MyRemoteApp" ProductName="DLS8Setup.8.5.1.exe" Size="119087088" Version="8.5.1.0" Hash="204ecb5296290527418693f3a464b59a8801808f"/>
</ExePackage>
</Chain>
</Bundle>
</Wix>
所以只要更新文件的变量,就可以得到安装程序
另外,它将显示DLS8Setup安装程序GUI。如果你需要静默的话,它将取决于每个安装程序。因为我知道你想使用你自己的,而不是示例中的,所以没有你的文件我什么都做不了。刚刚尝试了你的示例-一切都正常。但我是从WIX3.11引导程序的VS模板创建的。你试过这样做吗?@ba-a-aton你能给我一个完全有效的例子吗?我使用了一个安装项目而不是一个引导程序项目来解释我的问题(谢谢你告诉我)。然而,当创建一个引导程序项目时,我没有一个可以真正启动的安装程序。相反,对于安装项目,我确实得到了一些我可以真正开始的东西。您是在Visual Studio 2019中还是使用什么版本?一旦我将可执行文件名更改为我在本地拥有的名称,您的源代码就会在这里编译。您需要创建一个引导程序项目,并且需要同时安装WiX和Visual Studio集成:-在安装后也要重新启动以获得良好的效果(有时会有帮助-替换锁定的文件、删除锁定等)。@Daan“真正开始”是什么意思?也许这很明显,但可以肯定的是,bootstrapper项目不会使用VisualStudio运行。您应该“构建解决方案”,然后转到“调试/发布”文件夹并运行exe。@Daan好了,您几乎完成了,您不需要安装和卸载任何comands。这个话题中有很多东西是不需要的。但好的,我会试着写一个工作示例。这个解决方案很有效。谢谢你的解释很清楚。赏金转让权将于明天授予我(等待是规则的一部分)。这样我就可以分配赏金了。太好了,我很高兴它有帮助
var sizeInBytes = new FileInfo("D:\\DLS8Setup.8.5.1.exe").Length;