问题标签 [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 投票
1 回答
1337 浏览

installation - 如何在 WiX 安装程序中处理 ManagedBootstrapperApplicationHost 和重启/重启?

我正在使用WiX Burn来安装我们项目的必备组件,并且我已经使用 ManagedBootstrapperApplicationHost 来拥有自定义 UI。我正在检查 Windows Installer 版本并将其作为先决条件进行安装,但它需要重新启动。

如何处理代码中的重启?

我尝试在下面的代码中检查它,但e.status重启时的值也是 0。

代码

0 投票
2 回答
7566 浏览

twitter-bootstrap - Wix - 使用 Burn 引导 MSI 安装正常,卸载失败。MSI 自行安装/卸载 好的

几天来,我一直在尝试使用网络上的 .Net 4.0 生成我们的 MSI 安装程序的引导 EXE,我需要一些帮助。

我们有一个简单的 MSI,需要将它与 .Net4 捆绑。我们有 MSI 的 2 个变体 - x64/x86,它们在 Bundle 中以通常的方式处理。

如果存在 .Net4,则 MSI 可以正常安装和卸载。惊人的。启动后,EXE 安装正常(如果需要,确实会修补 .Net4)并且我们的应用程序会启动(如预期的那样)。问题是卸载。它失败并显示以下日志。

我难住了。有任何线索吗?

捆绑包.wxs

安装错误日志

更新

回应 Rob 的回答(非常感谢)

Rob 非常感谢 - 奇怪的是 MSI 可以自行安装/卸载。我检查了日志,但没有看到“错误”,但确实看到了:

这几乎就像它试图在卸载时启动应用程序......谢谢,我认为 Bundle 是正确的,但我正在为此苦苦挣扎。收到任何建议

0 投票
1 回答
1798 浏览

wix - WiX Burn:LaunchTarget 失败并出现错误 0x80070002

将 LaunchTarget 例如设置为“cmd.exe”可以正常工作,安装刻录包后,会弹出所需的命令行窗口。但是,将 LaunchTarget 设置为例如“[InstallFolder]\Path\To\Postinstallexecutable.exe”会产生错误:

路径正确,在命令行执行“C:\Program Files (x86)\Path\To\Postinstallexecutable.exe”可以正常工作。这是一个错误还是我错过了什么?WiX 工具集版本为 3.8.309.0。

更新:经过多一点测试,问题似乎只有在您尝试将参数传递给 LaunchTarget 中的命令时才会出现。所以例如使用

工作,而

导致 0x80070002 错误。

0 投票
1 回答
4247 浏览

wix - WiX Burn 重启后/强制重启继续安装

我有一个使用 ManagedBootstrapperApplicationHost的 WiX Burn自定义安装程序。安装必备的 Microsoft Windows Installer 4.5 之一后,我使用以下命令强制重启 PC (Windows XP):

Bundle 链如下所示:

重新启动后,我希望我的安装在此之后继续,但它实际上检测到安装并显示卸载选项。

在安装过程中发生重新启动时,如何检测未完成的安装?

0 投票
1 回答
3989 浏览

wix - 使用 WiX Burn 选择要安装/修改/卸载的 .msi

我正在查看此处提供的解决方案:

WiX Burn - 确定已安装的项目

但我看不出这对“修改”刻录屏幕(当有人决定删除某个 .msi 时)有何作用。

显示卸载/修改页面时查看 Burn .log(我调用了描述是否选中复选框的变量,“Checkbox1”到“Checkbox6”):

(ETC。)

所以,这让我想知道,各种 .msi 的“检测”结果存储在哪里?为什么不能将它们存储到我自己的变量“Checkbox1”中,我以后用它来设置复选框的值,不管它是否被选中?

作为一个更基本的问题,Burn 的这种使用模式难道不是标准 UI 应该很好支持的关键使用模式之一吗?

0 投票
1 回答
419 浏览

.net - 如何使用 Burn 捆绑 WiX 安装程序?我可以在一个项目中同时制作它们吗?

我最近在 WiX/Burn 上卡住了一段时间。我的目的是创建一个安装程序,它可以解压缩文件并在 .Net Framework 丢失时下载它。就我而言,我应该对 .Net 部分使用某种捆绑工具 Burn,并使用“普通”WiX 来解压文件。我已经编写了拆包部分(使用 SharpDevelop),现在我准备为此制作一个捆绑器。我应该如何合并 Burn 和 WiX 的东西?我是否必须创建两个单独的项目,一个用于 MSI,一个用于捆绑包?

0 投票
1 回答
568 浏览

wix - 我可以使用 WixBundleDirectoryLayout 或 /layout 示例片段吗?

有一个 Burn 内置变量 - WixBundleDirectoryLayout。如何为该变量赋值以更改捆绑包提取到的位置?

我也试过跑步...

setup.exe /布局 c:\temp

...从命令行,它只是将 setup.exe 文件复制到 c:\temp,而不是实际提取捆绑内容。我究竟做错了什么?

0 投票
1 回答
304 浏览

wix - WiX Burn变量返回运行它的文件夹名称?

是否有一个 WiX Burn 变量可以返回运行包的文件夹名称?

0 投票
2 回答
3107 浏览

wix - 如何在 WiX 刻录中包含可修改的松散文件?

我有一个包含非压缩文件的安装包。

松散此文件的目的是为了在安装前对其进行编辑。这可以按需要工作。

我有一个刻录链,指定松散文件作为引导程序旁边的松散文件包含在内。还要注意使用SuppressLooseFilePayloadGeneration允许手动将文件指定为松散的有效负载。

刻录日志如下所示:

好的,由于文件已更改,哈希失败。但是...我想允许用户更改文件。我可以很容易地使用标准安装程序包做到这一点,那么我必须跳过哪些箍才能让它与引导程序一起运行?

I found this discussion in the WiX users mailing list. Robs response of "It should just work" sounds promising, but then the discussion seems to move on to suggest it could be a bug? If the author ever raised a bug report, I can't find it.

An alternative I considered was to exclude the file altogether from the bootstrap payload, and then manually copy it over to the MSI cache path during install so the MSI can find it, though burn will never try to validate it. But the two troubles I see there are:

  1. I can't find out how to discover the cache path from within my bootstrapper.
  2. Even if I knew the path, I'd need to elevate the bootstrapper to copy the file. That may not be a showstopper, but I have a sneaking suspicion it might prove difficult.
0 投票
2 回答
1761 浏览

wix - WiX刻录自定义BA-取消命令触发时如何暂停进度?

使用自定义托管引导程序应用程序,我无法在单击取消按钮时停止设置进度。我使用是/否选项拉出确认视图。一旦确认取消,设置回滚就好了。或者,如果被拒绝,它会继续。这是根据以下内容完成的: 使用 wix burn Bootstrapper UI 取消安装和回滚

我注意到 WiX 设置工具包本身也出现了同样的问题,您可以在其中单击取消并等待,然后继续设置而不是等待用户确认或拒绝取消。

所以,我的问题是,如何暂停进度,直到在确认视图中确认(或拒绝)取消命令?

更新:我试图通过以下机制做到这一点:添加一个名为CancelWaiting. 如果CancelWaiting为真,则在 ProgressViewModel 中,更改逻辑以将<PropertyChangedEventArgs>.Result设置为Result.Suspend。这里的挑战是进行多个命令绑定。另一种方法是将 Cancel 和 CancelWaiting 路径合并为一个。无论如何,一旦我得到这个,我会更新这个线程。如果有人有任何其他想法,请发布。