问题标签 [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 回答
1544 浏览

installation - WiX CAQuietExec CustomAction 停止安装

我有一个带有一系列软件包的 WiX Burn 安装。

更新以 /passive 模式运行,无需用户交互。

最后一个包仅在更新时运行,唯一目的是运行可执行文件,它使用以下代码执行此操作。

但是,尽管 MyApp.exe 启动,但在 MyApp.exe 退出之前,安装不会终止。显然我希望应用程序启动并且安装程序终止它自己。

我无法修改 CustomAction 以在安装完成后运行..

由于以下原因:

任何想法表示赞赏。

更新:BrianJ 的回答让我找到了答案。正如@escist 所询问的,我的CA 的相关部分如下:

和其他地方(我的许多应用程序可能已经启动了这个过程,所以它的路径存储在注册表中)..

0 投票
2 回答
12592 浏览

wix - 如何在 WIX Bundle 中使用 CustomAction?

给你一个背景 - 我有一个来自我们供应商的 4 个 MSI,这必须发送到我们公司的服务器(我们正在查看大约 3500 个服务器)。截至目前,我的同行正在使用 vbs、ps1 脚本来管理它。但是脚本的问题在于,每次更新到来时,我们都必须担心在运行新包之前卸载现有包和大量的硬编码。

我想通过设置一个 WIX 脚本将所有 4 个 MSI 打包在一起来自动化整个过程(使用非常少的硬编码)。我阅读了 WIX 捆绑包并使用它来创建单个 MSI。但是现在有很多变量要传递给 4 个 MSI,所以我想使用自定义操作根据运行 MSI 的环境/机器来设置这些变量。但我不能让自定义动作起作用?我错过了什么吗?

谷歌搜索了一下,我看到 Bundle 中没有 CustomActions 之类的东西?有人可以确认吗?

另外,如果没有 CA,我有什么选择?如何操纵要传递给 4 MSI 的变量?其中大多数需要根据正在运行的机器进行设置(如安装路径、用户 ID、应用程序池 ID 等)。

0 投票
1 回答
3104 浏览

wix - WIX 刻录卸载?

我有一个 WIX_bundle (V1.0.0.0),它安装了 4 个第三方 MSI 的版本 (5.0.0.0)。现在我的第三方 MSI 的新版本已经更新(6.0.0.0)。我使用 (v2.0.0.0) 创建了 WIX_Bundle 的新版本,并且两个 WIX 捆绑包具有相同的升级代码。我想要发生的是新版本的 WIX_Bundle 应该卸载以前的版本(v1.0.0.0 和 4 个 MSI)并安装新版本(v2.0.0.0 和新的 4 个 MSI)。

但是当我尝试安装 WIX_BUndle V2.0.0.0 时,它会尝试安装新版本,而不是卸载以前的版本。我在这里错过了什么吗?

我也添加了 RelatedBundle Action="Upgrade" Id="$(var.UpgradeCode)" 。但什么都没有做的伎俩?

我的预期是否正确,卸载应该在新版本安装之前发生?我希望卸载之前的 4 个 MSI,无论它们是否有升级,然后在新的 WIX_Bundle (v2.0.0.0) 中安装新版本。我可以强迫这发生吗?

0 投票
1 回答
89 浏览

c# - 从 Payload Id 获取许可证

有没有办法从自定义 BootstrapperApplication 中的有效负载获取许可证文件。引擎似乎有版本和字符串变量,但无法查看有效负载中的内容。

0 投票
1 回答
1011 浏览

localization - 本地化 Wix 捆绑引导程序

我本地化了文件hyperlinkthemt.wxl(pl-pl)。但是我的引导程序只是出现,然后在一秒钟内消失,没有更多的事情发生。我试图解决这个问题,发现我不能在hyperlinktheme.wxl. 有什么办法可以改变它。我试图做一些事情HyperLinkTheme.wxl

但它没有帮助。您可能知道捆绑项目无法更改本地化。

0 投票
3 回答
1232 浏览

python - 有没有办法将 python 程序刻录到光盘上?

我做了这个很酷的几何和代数问题求解器,我想把它烧成交流给我的朋友,这样他们就可以像玩游戏一样运行它?关于如何做到这一点的任何想法?

0 投票
1 回答
12441 浏览

wix - 如何使用 WiX Burn 智能安装 .NET 4.x

安装可以使用 .NET 4.0 或 4.5 的应用程序时,安装必备 .NET 框架时的最佳做法是什么?以及如何在 WiX 中使用 Burn 来实现它?

这些是我知道的选项和权衡:

选项 1:安装 .NET 4.0(正是您所需要的)

  • 优点:未知(Windows XP 除外,这是唯一的选择)

选项 2:如果 .NET 4.5 不存在,则安装 .NET 4.5

  • 优点:用户以后不必为将来的应用安装 .NET 4.5。当用户稍后升级到 .NET 4.5 时,应用程序不会遇到 .NET 版本更改。应用程序立即获得 .NET 4.5 的性能改进。

选项 3:仅当 .NET 4.x 都不存在时才安装 .NET 4.5

  • 优点:如果已安装 .NET 4.0,则部署速度比选项 2 快得多。如果不是,则选项 2 的优点适用。

据我所知,如果性能改进很重要,最佳实践是选项 2,如果平均部署速度很重要,最佳实践是选项 3。这听起来对吗?我错过了选项 1 的任何优势吗?最重要的是,如果选项 3 确实有意义,那么在从 Web 安装 .NET 时如何使用 Burn 来实现它?

0 投票
1 回答
153 浏览

wix - WiX ManagedBootstrapper SetDownloadSource 混淆

我对 Engine.SetDownloadSource() 方法有点困惑。我想要做的是将捆绑包的下载 URL 从外部网站更改为内部网站。(如果有更简单的方法可以做到这一点,我愿意接受其他建议)。

现在解决问题。调用此方法时,它要求输入用户名和密码。我不确定我应该从哪里获得这些信息。

WebSitePath() 只返回网站的基本 URL。如果我不更改链接,我找不到任何关于 MBA 将使用什么用户名和密码的提示,同样我不知道如何告诉它使用当前 Windows 用户从新链接下载。任何帮助将不胜感激。

0 投票
1 回答
534 浏览

visual-studio - 如何指定 VisualStudio 2012 项目依赖于另一个的两个配置?

我有一个 VisualStudio 2012 解决方案,由一堆 C++ 项目组成,每个项目都有一个调试/发布配置和x64 / Win32平台。所以我最终得到了四个可执行文件:

  • 调试-Win32.exe
  • 调试-x64.exe
  • 发布-Win32.exe
  • 发布-x64.exe

其中,我使用 WiX 项目从 * Release配置输出创建安装程序:

  • 发布-Win32.exe -> 安装程序-Win32.msi
  • 发布-x64-exe -> 安装程序-x64.msi

然后,我有一个 WiX 刻录引导程序项目,将它们链接到单个引导程序可执行文件中。引导程序选择正确的 MSI 为平台运行。

我的问题是引导程序项目依赖于安装程序项目的Win32x64目标平台。

现在,我需要在构建引导程序之前手动触发这些平台配置的构建。有没有办法(通过手动编辑 msbuild 脚本)在两个目标平台配置上创建构建依赖项?

0 投票
1 回答
1243 浏览

installation - 从我的 WiX Burn 包中删除/卸载特定软件包的正确方法是什么?

我有想要从后续版本中删除的软件包。在未来更新期间从用户计算机上卸载此软件包的正确方法是什么?(即:删除下面的 Package_B)。

我尝试从捆绑包中删除包条目并改进捆绑包版本,这是这个 SO question中的答案,但这对我不起作用。