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

wix - WiX - 提交多个属性到延迟自定义操作

我的 WiX 安装程序与延迟/立即自定义操作联系时遇到问题。请原谅我的英语。

我想将用户输入的一些属性交给延迟的自定义操作。我知道我需要一个立即的自定义操作和“CustomActionData”来做到这一点。我已经以这种方式实现了它。

二进制:

立即的自定义操作:

延迟的自定义操作:

InstallExecuteSequence

在延迟的自定义操作中调用属性:

我的问题:如果我尝试安装我的程序,它会中断。使用此代码,我只能交出一项财产,但我需要提交多个财产。

有关信息:当我查看日志文件时,在调用自定义操作时会出现 System.Collections.Generic.KeyNotFoundException。

为什么这不起作用?好吧,我需要延迟自定义操作来写入“程序文件文件夹”。由于需要权限,因此需要延迟的自定义操作,并且在延迟之前执行的立即自定义操作应该有助于处理属性。有可能这样做吗?

我希望您了解我的问题,并且可能您可以尝试帮助我。

0 投票
1 回答
781 浏览

xml - 蜡意外子元素“iis:WebVirtualDir”

我正在创建一个使用 Wix 工具集将我的 MVC 应用程序部署到 IIS7 的安装程序。我有这段代码,我在此找到:https ://stackoverflow.com/a/3154259/2063610

它抛出一个错误,上面写着:The Directory element contains an unexpected child element 'iis:WebVirtualDir'.

我确定我已包含架构并将其添加WixIISExtension到引用中,因此它应该可以正常工作。这是整个代码:

谁能帮我解决这个问题?我是一个 Wix 菜鸟,从昨天开始一直在研究它,但仍然无法让我的简单安装程序工作..:/

0 投票
1 回答
161 浏览

wix - Wix UI:如何增加 WixUI_Minimal 等内置 UI 的宽度?

是否可以在一个简单的属性中增加内置 Wix UI(例如 WixUI_Minimal)的宽度?

0 投票
1 回答
5635 浏览

c# - 使用 Wix Bootstrapper (Burn) 安装 .NET 可再发行组件

我是 Wix/Burn 的新手,正在尝试了解一些基础知识。我有一个简单的引导程序,它使用以下链安装所需的 .net 4.0 框架:

按照How To: Install the .NET Framework Using Burn 的建议。该应用程序可以在没有 Web 访问权限的服务器上使用,因此从本地可再发行组件安装 .net 非常重要。引导程序似乎工作得很好,并按预期安装了框架。不过,setup.exe 文件的大小与应用程序(< 5 MB)大致相同,因此我必须假设在安装期间仍在下载框架。

问题

  1. 那么,WixNetfxExtension 包中的“NetFx40ClientWeb”和“NetFx40ClientRedist”有什么区别?

  2. 如何在 boostrapper 中包含本地可再发行组件,以便无需下载?

编辑:

我相信我在这里找到了答案:

WiXNetFxExtension 将检查一个名为“redist”的子目录,您的捆绑包在该子目录中用于该包,如果该路径不存在,则下载它,例如“redist\dotNetFx40_Client_setup.exe”。这是标准的刻录行为。

0 投票
2 回答
1638 浏览

c# - 发现重复符号“WixUI:WixUI_InstallDir”

我正在尝试使用 WiX 并想自定义我的 UI。因此,我在我的工作 WiX 项目中添加了以下两行:

之后,我在尝试编译时会收到以下错误:

找到重复的符号“WixUI:WixUI_InstallDir”。这通常意味着一个 Id 是重复的。检查以确保给定类型(文件、组件、功能)的所有标识符都是唯一的。

我很确定,我所有的标识符都是唯一的,因为没有这两行它就可以工作。那么,我该怎么做才能让它发挥作用呢?

0 投票
0 回答
153 浏览

wix - WiX Minimal UI 显示第一行空的阿拉伯文本

我正在使用WiX 3.7我设法按照http://wixtoolset.org/documentation/manual/v3/wixui/wixui_dialog_library.htmlWiX Minimal UI的说明正常工作

当我使用阿拉伯语许可证文件时显示不正确(第一行为空白),除非用户滚动文本区域,在这种情况下,文本开始按预期显示。

我已经尝试了来自页面http://wixtoolset.org/documentation/manual/v3/wixui/wixui_customizations.html的建议

  • 在写字板中打开您的 RTF 文件并从那里保存,以便从文件中删除复杂的 RTF 内容。保存后,重建您的 MSI。

我目前的方法是编写一个Custom EULA Dialog,但我更愿意使用 WiX UI Minimal builtin Dialog... 你遇到过这个问题吗?你知道如何克服它吗?

0 投票
1 回答
1155 浏览

.net - 蜡包是否可以有多个条件(bal)?

我正在尝试在一个独特的捆绑包中管理不同 Windows 版本的 .Net 框架安装。

为此,我希望有 2 个不同的条件和 2 条特定消息,这比针对多种情况的唯一消息更有帮助。

基本上,有没有办法让两个条件像这段代码一样工作:

谢谢你。

0 投票
0 回答
240 浏览

wix - 使用 WIX 根据用户选择安装不同软件包的正确方法是什么?

我们有一个大问题。我们想要创建一个 WIX 安装程序,如果我运行安装程序的机器是:

1) Windows 7 或更高版本我必须显示一个界面,我可以在其中收集用户选择我必须使用哪个数据库(MS Access、MS LocalDB、MS SQL Server)。

2) Window 7 之前的版本我不必显示数据库选择的界面,因为我想强制我的应用程序使用 MS Access。

在这一步之后,如果用户选择了 MS LocalDB 选项,我必须安装 SQL Server Express LocalDB Runtime。运行时安装程序有 2 个文件,一个用于 x86,一个用于 x64。因此,只有当用户想要使用 LocalDb 并安装正确的包检查机器类型(x86 或 x64)时,我才必须安装运行时。

所以我们创建了一个带有链的捆绑包。该链包含:

1) 我们的应用程序 WIX 安装程序

2) x86 的 SQL LocalDB 运行时

3) x64 的 SQL LocalDB 运行时

我们尝试了两种方法:

1) 将选择放入 WIX 安装程序中的界面:我们可以显示和隐藏数据库选择界面,但我们不能将所选数据库的值传递给捆绑软件来决定是否安装以及哪个运行时安装

2)将单选按钮放入捆绑包的选项页面,但如果我的操作系统在 Windows 7 之前,我们无法隐藏选项按钮。我们尝试了 thmutil 扩展(http://wixtoolset.org/documentation/manual/v3/ xsd/thmutil/),但不能插入一个条件来禁用该按钮。

所以我们的问题是:

  • 根据用户选择安装不同软件包的正确方法是什么?

  • 有没有办法允许 WIX 安装程序和捆绑包之间进行双向通信?

谢谢!

0 投票
1 回答
14743 浏览

wix - Fragment 元素包含未处理的扩展元素“util:RegistrySearch”

学习如何创建 Wix Booloader,以便我可以使用我的 msi 安装包安装 .NET 框架。无论如何,我遇到了未处理的扩展元素的错误。代码如下

错误信息是

谁能解释我的错误是什么我包含了正确的命名空间,但我看不到错误的原因!

0 投票
1 回答
1265 浏览

wix - WiX获取文化预处理器变量

我有一个文件夹敲击

要将此视频包含到特定于语言的安装程序中,我需要能够访问诸如 $(var.Culture) (<--didnt 存在)之类的内容。我尝试使用语言文件

但这也不会起作用,因为它们不是预处理器变量,所以我不能在“蜡烛”过程中使用它们。有没有办法将culturecode 作为当前构建的msi 的预处理器变量?如果这个问题是微不足道的,我很抱歉,但我搜索了谷歌并没有找到真正的解决方案。