Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何解决Wix工具集3.11中的BootstrapperApplicationRef?_Wix_Wix3.11 - Fatal编程技术网

如何解决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;