问题标签 [burn]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
6824 浏览

wix - Burn bootstrapper is not detecting Windows installer version correctly

Currently, I have the following fragment to check and install Windows Installer 4.5 if the user is on Windows XP.

However, this is not working and the property "WinXPx86HasInstaller" always evaluates to false even when it is installed.

What am I doing wrong?

0 投票
2 回答
2470 浏览

wix - Wix 引导程序卸载快捷方式

我正在尝试创建快捷方式来卸载引导程序已安装的任何内容。因此,我只想在添加和删除程序时执行与卸载相同的操作。

我发现 de bootstrapper 安装在 package cache{guid}[bootstrappername].exe

它安装的其中一个 msi 软件包还安装了此引导程序 /uninstall 调用的快捷方式。但是问题是包的 GUID 在每次构建时都会重新生成。所以我有些如何将其设置为 msi 属性。但我无法弄清楚如何做到这一点,在我看来,GUID 在构建过程中是未知的,但只有在构建完成后才知道?

还有另一种方法来确定缓存引导程序的位置吗?

0 投票
4 回答
3475 浏览

wix - 如何在 Burn (WiX) 中引用 Reboot Pending 属性

如何在刻录(WiX) 引导程序中引用 RebootPending 属性?我知道属性名称是 RebootPending,它实际上引用了 Windows Installer 中的 MsiSystemRebootPending 属性。

我目前正在尝试这样的事情:

但这始终是正确的,即使 Windows 更新刚刚完成更新并需要重新启动。

我的语法错了吗?我的情况应该改为 [RebootPending] 吗?

被告知 Burn 中的 RebootPending 属性可能与 Windows Installer 使用的属性不完全对应,否则我将如何确保我的应用程序在重新启动挂起时不会尝试安装?

0 投票
7 回答
6401 浏览

wix - 如何调试自定义引导应用程序?

我正在使用 Burn for MSIs 包。我正在使用 Votive (Visual Studio) 和我自己的自定义 BA 而不是 WiXBA。我尝试使用Debugger.Launch(). 但是当我开始调试时,会出现错误消息。

没有为任何调用堆栈帧加载符号。无法显示源代码

我意识到 package.exe 链接了位于C:\Documents and Settings\user\Local Settings\Temp\{GUID}\. {GUID}总是改变。因此,每当我运行 package.exe 时,总是会更改目录。

我认为这是发生错误的原因。

在 Visual Studio 中,当我使用位于绝对路径 ( .../Debug/bin/CustomBA.dll) 的 CustomBA dll 启动 package.exe 时。但是在执行 package.exe 之后,它会链接到Local Settings\Temp\{GUID}目录。因此,当我们开始调试并附加到 CustomBA dll 时,CustomBA dll 的目录会动态更改并No symbols are loaded发生错误。

  • 为什么 package.exe 链接位于的 dll C:\Documents and Settings\user\Local Settings\Temp\{GUID}\?我们可以静态选择dll的路径吗?
  • 如果我们不能静态选择 dll 路径,如何使用 CustomBA 的调试功能?
0 投票
2 回答
9515 浏览

visual-studio-2010 - 创建本地化的 WIX 3.6 引导程序。

一年多前,我在 Visual Studio 2010 中创建了一个 WIX 项目。它会创建一个 MSI 文件和一个引导程序 setup.exe。实际上,它为两种语言(英语和法语)创建了这对文件。我刚刚将此项目集成到我们的 TFS CI 构建中。我无法让 CI 构建生成引导程序 setup.exe 文件。

我们最近将所有构建服务器上的 Wix 升级到了 Wix 3.6 RC。所以,我想我会尝试一下 Burn,而不是使用旧风格的引导程序。我在我的解决方案中添加了一个新的 Bootstrapper 项目。引导程序项目包括一个简单的 bundle.wxs,它只加载我的旧 MSI 项目生成的 MSI。但是,当我尝试构建时,出现以下错误:

错误 LGHT0103:系统找不到文件 'C:\Tf\Advantage\Dev\Solution\Configuration\LaunchPad.Wix\bin\Release\fr-fr\LaunchPad.msi;C:\Tf\Advantage\Dev\Solution\配置\LaunchPad.Wix\bin\Release\en-us\LaunchPad.msi'。

我在捆绑包中的包参考如下所示:

LaunchPad.Wix 是 Wix MSI 项目的名称。如果我将 LaunchPad.Wix 项目更改为仅构建一种语言,那么它可以正常工作。在我看来,引导程序项目类型只是不支持为多种语言构建设置文件。这是真的?任何解决方法的建议?

编辑

经过进一步调查,我想知道引导程序项目是否甚至支持本地化。我尝试将我的 Wix MSI 项目设置为仅创建 fr-fr。我的引导程序项目用英语创建的 setup.exe。当我编辑引导程序项目的项目属性时,“要构建的文化”字段被锁定并留空。我将如何构建一个非英语引导程序?这可能吗?

0 投票
1 回答
3934 浏览

wix - WiX:使用 Burn 安装 .NET,然后使用自己的 WPF 嵌入式 UI 启动 MSI

我已经使用带有 EmbeddedUI 元素的自定义 WPF UI 制作了带有 WiX 的 MSI 安装程序。它类似于 src/DTF/Samples/EmbeddedUI 中的示例。

我现在想要一个引导程序来检查是否安装了 .NET 4,如果没有安装它,然后启动我的 MSI。

看起来 Burn 会覆盖我的 WPF EmbeddedUI,以便将 .NET 4 和 MSI 安装链接到带有单个进度条的单个安装中。我知道我可以有一个托管应用程序来更改 Burn 的 UI,然后将参数传递给我的 MSI,但问题是我希望我的 UI 位于依赖 .NET 的 WPF 中,并且如果整个引导程序依赖于 .NET那么如果他没有首先安装引导程序,用户甚至无法打开它。

我想要的是引导程序,如果需要,可以使用像 Wixstdba 这样的简单 UI 来安装 .NET,然后使用它自己的 WPF EmbeddedUI 启动我的 MSI,而无需将其与 .NET 安装链接。我不介意两种安装都有自己的进度条,我只想能够使用我的 WPF EmbeddedUI 来安装主应用程序。

那有可能吗。如何?谢谢!

0 投票
1 回答
364 浏览

wix - 用于用户名和密码的 WiX 标准 UI

我正在为将使用 Burn 构建的新引导程序进行概念验证。到目前为止,我已经设法让一切正常工作。老实说,它比预期的要好。

我唯一无法确定的是如何在 WiX UI 中构建以请求服务用户名和密码,然后将其发送到适当的 MSI。有什么内置的东西可以做到这一点吗?

在一个更普遍的问题中,是否有任何很好的资源可以帮助您开始或充分利用 Burn?

0 投票
1 回答
1822 浏览

checkbox - Burn:如何将复选框值存储在变量中

我想知道您如何将复选框值存储在变量中?我正在使用带有自定义 RtfTheme 的WiX Burn 。

例如:

RtfTheme.xml

捆绑包.wxs

我希望“TestVariable”的值在我选择或取消选择复选框时更改值。有什么帮助吗?

0 投票
1 回答
1878 浏览

wix - 如何在我的包(引导程序)中显示功能安装进度?

我想在我的托管引导程序(捆绑包)中显示功能安装进度。我怎样才能做到这一点?

0 投票
1 回答
559 浏览

wix - 如何在我的托管引导程序中显示本地化的 WiX UI?

当我使用 MSI 包 UI 时,我使用了 WixUIExtension 和“WixUI_ErrorProgressText”集。但是当我使用托管引导程序和 ExecuteMsiMessage 事件来显示进度文本时,它没有任何效果,我看到类似“Action 6:43:04: ...”的文本