问题标签 [wix3.6]

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 回答
2009 浏览

wix - 如何在 wix 刻录链中途安排重启?

目前,我有一个链可以检查并安装以下先决条件(如果它们缺失):

  1. 视窗安装程序 4.5
  2. .net 框架 4
  3. Sql Server Express 2008 R2

不幸的是,安装程序需要在安装 #1 后重新启动机器,否则 Sql 服务器安装将失败。如果提示用户重新启动机器,这将被禁止,安装程序将继续执行 #2。如何重新启动机器(如果安装了 #1)然后自动继续安装?

谢谢

0 投票
1 回答
1605 浏览

wix - WiX 功能状态(请求/操作)在更改/修改期间未更新

我有一种情况,我需要知道在更改模式下要安装/卸载哪些功能,因此我将能够修改对话框序列。

我的设置包括 2 个功能F_WEB_APPF_DATABASE,为了让我的生活更轻松,我在自定义对话框的下一步按钮上发布了以下属性,以根据功能条件确定哪些功能已安装、要安装或要卸载,如下所示:

第一次安装期间,我的所有属性都根据用户选择(预期行为)进行设置,但在更改/修改期间它们仅设置一次(在自定义对话框首次加载 - 值匹配现有状态,无论用户更改如何)!如果用户进行更改并按下一步或继续然后返回并更改所选功能并单击下一步,则没有设置任何属性...这里有什么问题?

首次安装的日志(为便于阅读而修剪):

更改/修改日志(为便于阅读而修剪):

正如您从第二个日志中看到的那样,没有记录属性更改,我在这里缺少什么?

谢谢。

0 投票
2 回答
13399 浏览

.net - 将参数从引导程序传递到 msi 捆绑包

我正在使用 VS2010 和 WiX 3.6 创建 MSI 包并将它们捆绑到 Bootstrapper 设置中。这是我的 Boostrapper 代码。

MSI 包必须具有指定的参数才能运行。通常,我会打电话给"Packag21.msi PARAM1=1 PARAM2=2". 构建项目后,我尝试以相同的方式将参数传递给我的 Bootstrapper.exe Bootstrapper.exe PARAM1=1 PARAM2=2,但似乎没有将它们传递给 MSI。安装因缺少参数情况而挂起。

有没有办法将参数从exe传递到msi?

0 投票
1 回答
1399 浏览

wix - 防止 Msi 外部文件被压缩并包含到刻录引导程序中

是否可以将 Msi 包包含到引导程序中,但不能包含任何外部文件?

所以我的 msi 安装程序有一个文件:

输出:

  • 安装程序.msi
  • 数据库.bak

现在,如果我将刻录链设置为包含 msi 包:

“Database.bak”文件也被压缩到生成的 exe 中。是否可以压缩 msi 而不是 .bak 文件?

如果没有人可以比我更好地回答这个问题,那么我根本不需要这样做!:)

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 投票
4 回答
13341 浏览

visual-studio-2010 - WIX 3.6 安装程序 - Visual Studio 2010 (HeatDirectory)

我正在为 Web 服务开发 WIX 3.6 安装程序。但是当我尝试使用 HeatDirectory 来获取所有必要的输出时遇到了一个问题,无论我尝试什么,我都会为每个收获的文件收到以下错误:

系统找不到文件'SourceDir\Some.dll ...'

错误发生在 WcfService.wxs 中;奇怪的是 WcfService.wxs 是由我的项目文件中的 heatdirectory 部分自动创建的(如下)。 如果它必须首先知道它们在哪里来创建 WcfService.wxs,它怎么能说找不到这些 .dll 呢? 当我从我读过的任何教程下载和构建 WIX 示例项目(原样)时,甚至会发生这些错误。

目标:尽可能多地自动化 .dll 包含(即利用收获来处理依赖项项目等)

我正在运行 Win 7 64 位,项目是 .NET 4。

产品.wxs:

项目文件:

WcfService.wxs:

0 投票
1 回答
3276 浏览

wix - 创建简单的自定义操作 Wix 安装程序

是否可以创建一个简单的 WIX 安装程序,它只执行自定义操作,不执行其他任何操作?我知道我可以通过使用以下 WIX 标记让它工作,但是这仍然会在 Program Files 中创建一个文件夹,如果我删除 CreateFolder 行,它就不起作用。

--EDIT-- 我正在考虑创建 WIX 安装程序而不是控制台应用程序,因为 .net 3.5 框架似乎在读取 64 位注册表时存在问题。在 4.0 中添加了执行此操作的简单功能,并且在 IIS 中注册 asp.net 的空安装程序似乎可以始终如一地工作。

0 投票
1 回答
5256 浏览

wix - 如何在自定义引导程序应用程序中设置或获取所有日志

在我的自定义 Burn 托管引导程序应用程序中,我想要一种方法来设置安装程序的默认日志目录,以便客户可以轻松找到安装日志。如果无法做到这一点,我想要一种合适的方式在安装后复制日志文件。

我尝试在我的设置项目(即 Bundle.wxs)和我的托管引导程序应用程序中设置 WixBundleLog 变量,但没有成功。此外,我的引导程序应用程序足够通用,因此可以与各种产品/安装包一起使用,因此我需要一个足够灵活的解决方案来设置/获取每个包的安装日志,而无需对包名称进行硬编码在我的引导程序应用程序中。

似乎应该有一种方法可以做到这一点,而无需强制用户在命令行上使用“-l”或“-log”。

0 投票
4 回答
3475 浏览

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

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

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

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

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

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

0 投票
2 回答
978 浏览

installation - WiX 自定义操作 - 传递文件列表

我正在为替换其他应用程序的某些文件的插件准备安装包。我需要备份这些文件,所以我准备了CustomAction来做这件事。

如何将在安装期间复制的所有文件的自定义操作位置作为参数传递?我需要手动制作该列表吗?