问题标签 [wix-extension]

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

wix - 如何在 WiX 安装程序中将应用程序添加为防火墙例外

我有一个要安装大量文件的安装程序。我正在使用 heat.exe 来收集所有文件。这个 heat 命令实际上是我的构建脚本的一部分,后面跟着 Candle.exe 和 light.exe 等其他命令。现在,我的应用程序 test.exe 也使用自动生成的 GUID 和组件 ID 获得。如何将此特定应用程序添加为防火墙例外。问题是每次我使用脚本构建安装程序时,都会生成一个带有新组件 ID 的新收获文件。有什么建议么?

0 投票
1 回答
3001 浏览

wix - 使用 WiX 扩展自定义字体

我正在使用Windows Installer XML CommonUi Extension中的 Windows 服务对话框。

我在标题文本后面有一个深色横幅位图,所以我想更改标题字体的颜色。我尝试将其添加到我的 .wxs 中:

这在没有扩展名的情况下工作,但现在我使用扩展名我收到此错误:

主键“WixUI_Font_Title”在表“TextStyle”中重复。请删除其中一个条目或重命名主键的一部分以避免冲突。

如何更改字体?


编辑:我通过向 UI 部分添加 TextStyle 以一种 hacky 的方式解决了这个问题,如下所示:

然后将自定义字符串添加到.wxl文件中,该文件使用相同的文本覆盖原件,但也使用字体设置。

我正在为这个问题添加一个赏金,希望找到正确的方法来解决这个问题。

0 投票
1 回答
521 浏览

wix - 错误 0x8007007a:无法复制 XmlConfig 记录 ID

我正在使用 Wix XmlConfig 来更改 XML 文件,尤其是。

以下代码将抛出异常:

SchedXmlConfig:错误 0x8007007a:无法复制 XmlConfig 记录 Id SchedXmlConfig:错误 0x8007007a:无法读取 XmlConfig 表错误 25540。配置 XML 文件时出错。

上面的代码在没有AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC_defaultValue项的情况下可以正常工作。

但是当包含AdvancedLogging_InterACT_LogDefinition_selectedFields_Date_UTC_defaultValue时它将失败。

有人可以提供一些线索吗?

0 投票
3 回答
4369 浏览

wix - WIX 启用 Windows 功能

在安装我的软件之前,我必须检查是否启用了某些 Windows 功能。

我可以使用 dism 命令行工具检查或安装它。

我创建了一个自定义操作来执行此操作,但是有没有办法以“WIX 本机方式”执行此操作?

问题是命令启动命令提示符,这对最终用户来说非常难看。我怎样才能让它变得更好?我不知道我是否需要引导程序来执行此操作(例如安装 .NET Framework)。

是否有任何扩展来管理这些事情?

我现在正在使用 WIX 3.7。

0 投票
0 回答
475 浏览

wix - Wix 托管引导程序

我的 bundle.wxs 中有一些 ExecPackages 链接。我有一个用于安装 .Net Framework 4.0 的 PackageGroup 部分。这已作为 PackageGroupRef 挂在链的开头。当我双击引导程序时,会弹出一个安装 .Net Fwk 的 .Net 框架安装窗口。安装 .Net 后,我​​希望引导程序显示托管 UI 并继续实际的安装活动。但是,问题在于它只是在 .Net 框架安装后停止。我必须第二次执行引导程序才能弹出 UI 并恢复安装。bundle.wxs 的内容是这样的:

0 投票
0 回答
718 浏览

xml - 如何使用 XmlFile 元素修改 WiX 中的 CDATA 节点?

我正在尝试使用以下内容修改 XML 配置文件:

使用此XmlFile元素:

但结果是 CDATA 标记被删除并替换为文本。我想保留 CDATA 标记。我想这个问题应该有几种解决方案。

我尝试过的一种解决方案是修改 XmlFile 元素以包含 CDATA 标记,如下所示:

但无济于事。在这种情况下,扩展程序会引发错误。

然后我尝试添加包含 CDATA 标记的虚拟属性,如下所示:

然后我将它们添加到值中:

但这会产生以下字符串:

不知何故,扩展用它们的 XML 实体替换了小于大于符号。

所以我想最好的解决方案是如果我可以使用XPath表达式选择 CDATA 元素的内部文本元素,然后修改该节点。有没有办法做到这一点?

0 投票
1 回答
787 浏览

wix - 在 MSI 安装 WIX 期间重命名现有文件

我有一个 WIX 安装程序,在安装程序中我还复制了一个在 VS 2012 中创建的教程项目。我想要的是,如果用户通过在其中添加新文件来更改教程项目,那么我只想重命名现有教程并复制新教程,如果用户没有更改现有教程,那么我只想用新教程替换现有教程。

第一个问题是,真的可以使用 WIX 吗?(WIx 是否为我们提供了一些类似的功能)

如果可能的话,有些人会指导我怎么做?

0 投票
2 回答
2013 浏览

iis - WiX 未正确配置 IIS 站点

我有一个安装程序,它配置了 2 个网站,其中一个在根站点下有一些应用程序。顶级站点仅配置为 Windows 身份验证,如下所示:

然后安装程序中的其他(可选)组件声明应用程序/虚拟目录,如下所示:

我看到的行为是我所期望的 9/10 次,但安装程序将间歇性地安装具有匿名身份验证Windows 身份验证的“网站”站点,而不仅仅是具有匿名身份验证的帮助应用程序。我能想到的唯一解释是,在根站点下添加虚拟目录/应用程序的行为偶尔会导致根继承子身份验证设置以及它自己的身份验证设置。

注意:我试图在 wixtoolset.org 网站上将此作为错误提出,但在尝试这样做时不断收到错误消息。

0 投票
1 回答
737 浏览

sql - 是否可以导出 SqlString 编辑的字符串的结果?

我有一个安装数据库的安装程序。该数据库是与一些登录名一起创建的。为了创建登录,我在 SqlString 元素中使用主数据库。只有在 SQL 服务器上具有非常高权限的用户才能访问 master 数据库。由于缺少权限而无法执行为 master 数据库指定的 SQL 字符串,因此安装通常会中止。

我想编辑我的安装程序,以便当无法执行 SqlString 元素时,将跳过安装的 SQL 部分。安装完成后,我希望用户能够自己执行 SQL 语句。我的安装程序执行的每个 SQL 操作都存储在 SqlString 元素中。SqlString 元素包含许多在安装过程中被替换的属性。我想将所有已编辑的 SqlString 元素的内容提取到一个存储在用户目录中的 sql 文件中。

我想我必须编写一个在 sqlextension 替换属性之后发生的 customaction。然后我将不得不访问这些更改的字符串。有什么办法可以做到这一点吗?

示例 SqlString 元素:

SqlStrings 失败后我想要的 sql 文件示例:

0 投票
2 回答
771 浏览

wix - Wix CAQuietExec 写入登录错误

我有一个执行命令行工具的自定义操作:

在某些情况下,它会失败。msi 日志如下所示:

有没有办法记录命令行工具返回的错误消息?

这个命令行工具有它自己的日志,但是,失败后,所有的安装过程都会回滚,包括我的珍贵日志。如何告诉 wix 不要删除我的命令行工具的 de 日志?