问题标签 [wix3]

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 投票
2 回答
4667 浏览

wix - 使用 heat.exe 将批量文件添加到新的 WiX 项目:HEAT5150

如果这是一个重复的问题,请指导我使用现有的解决方案。我找不到匹配的查询。

我们目前使用 InstallShield。我正在尝试将具有 407 文件的项目转换为 WiX3 安装包。我尝试使用 heat.exe 进行一些自动化操作,但几乎每个文件都会收到以下警告:

c:> 热目录 "c:\projectDir\projectA" -gg -ke -template:Product -out "c:\install\projectA\heatOutput"

heat.exe:警告 HEAT5150:无法从预期为 SelfReg DLL 的文件中收集数据:c:\projectDir\projectA\plugin1.dll。如果此文件不支持 SelfReg,您可以忽略此警告。否则,此错误详细信息可能有助于诊断故障:无法加载文件:c:\projectDir\projectA\plugin1.dll,错误:126。

Q:每个文件都报这个警告是正常的吗?

如果当前有“如何创建/转换为您的第一个包含许多文件的 WiX 安装项目”教程,请指点我。关键要求是“有很多文件”。

PS。我知道 WiX 是为增量安装项目创建而设计的,但很高兴知道是否有一种自动化方法可以转换现有安装项目。

0 投票
1 回答
477 浏览

sql-server - Wix 中不同序列的多个 SqlString 操作

我想在 InstallExecuteSequence 中以两个不同的顺序执行 SQL 字符串。

问题是,如果您使用提供的<sql:SqlString \>,它们似乎会被捆绑到“InstallSqlData”操作中。

有没有办法指定某些 SqlString 元素在不同阶段执行(以便我可以在两者之间运行单独的自定义操作)

0 投票
3 回答
25977 浏览

wix - 在 WiX 文件中,Name="SourceDir" 指的是什么?

WiX 文件似乎总是包含这一行:

什么是“源目录”?这有什么用途?这不是一个真正的目录名称。这是某种神奇的价值吗?

0 投票
3 回答
7668 浏览

installation - WIX,Dot Net 托管自定义操作,用 SQL Server 实例动态填充组合框,MSI

在 WIX 中,我需要一个 dot net 托管的自定义代码来动态填充组合框,其中包含该网络中 sql server 实例的值。

我试图谷歌但没有任何工作

任何帮助是极大的赞赏。

0 投票
2 回答
2131 浏览

wix - WiX:定义一个可能不存在的文件组件

我需要定义一个在某些情况下可能不存在的 Wix 文件组件。有没有办法做到这一点?Wix 中的条件元素似乎都在安装时工作,我需要在编译时检测文件是否存在并相应地构建安装程序的东西。

0 投票
1 回答
647 浏览

c# - WIX 3.0 从 .NET 项目生成功能

我有一个大型 .NET 源代码树(185 个 C# 和 VB 项目,其中 60 个是应用程序或网站),我想为其创建一个 wix 设置。总体思路是设置 1 个 msi 并使每个可执行文件成为一项功能,并将每个应用程序安装在单独的目录中。喜欢

到目前为止,我已经设法使用功能树创建了一个 wix 产品文件,并让 heat 工具为每个 .NET 项目生成片段文件。它们看起来像这样:

但是两者的链接给我带来了麻烦,Features 可以引用 ComponentGroups,ComponentGroups 引用 Components,Components 包含在 DirectoryRef 中。

定义 DirectoryRef 元素要引用的 Directory 元素给我带来了麻烦。

一些库被多个应用程序使用,因此 DirectoryRef 必须指向多个目录,并且多个 DirectoryRef(具有不同 id)必须指向同一个目录找到目录别名技巧),这两者似乎都是不可能的。

我有一种明显的印象,我正在以错误的方式处理它,或者我错过了一些更深入的洞察力。(没有惊喜,因为我的wix-fu已经整整3天了)

有人可以启发我如何在这个黑暗而邪恶的问题上点燃蜡烛(不是双关语......)

0 投票
2 回答
8970 浏览

wix - 在标准 Wix 对话框中自定义文本

我正在使用 Wix 标准对话框。如何自定义显示的消息文本?

例如,在“许可协议”页面中,我想将“我接受许可协议中的条款”文字更改为“我承认并接受上述协议的条款”。


相关:
如何在运行时设置要在 VerifyReadyDlg 中显示的文本?

0 投票
2 回答
5866 浏览

wix - 升级 WIX 功能树中的单个功能而不卸载/升级其他功能

我正在尝试使用WIX创建一个安装项目,该项目将允许我安装单个产品的多个功能。如何更新已安装的功能之一(独立于其他已安装的功能)而无需重新安装功能树中的其他功能?

例如,我希望能够有一个名为 HelloWolrd 的项目(回到 HelloWolrd),它(惊喜)打印“Hello world!” 屏幕上。假设我有三个 hello world 应用程序,Hello World 1、Hello World 2 和 Hello World 3。每一个都分别在屏幕上打印 Hello World 1、2 或 3。我想要的是创建一个 MSI,它默认安装所有这三个“功能”,但也允许以后单独升级每个功能。

这是我的解决方案的布局:

解决方案资源管理器 http://img12.imageshack.us/img12/5671/solutionexplorerm.jpg

我的 WIX Product.wxs 文件如下所示:

现在,当它被构建时,它会按照您的预期安装功能。但是,当您对 HelloWorld1.vb 进行修改并重新编译时,我希望它能够仅重新安装(升级)该功能,而不是全部。

当我更新一个文件并重建解决方案,然后尝试安装 msi 时,我收到此错误:

MSI 错误 http://img696.imageshack.us/img696/849/anotherversionisinstall.jpg

我更新了我的代码以允许卸载功能并允许使用升级代码,但是卸载了所有功能并重新安装了所有功能。


-- 实际应用 --

现实世界的应用程序是一个大型软件包,需要多个支持应用程序作为服务/计划任务定期运行。我希望将这些支持应用程序安装到一个 MSI 中,这样我们就不会遇到单独推出每个 exe 的噩梦。我知道,如果我们对其中一个 exe 进行了更新,我们可以手动编译该 exe 并将其推出,但我想以完全可重现的方式执行此操作。

任何帮助都会得到帮助,

谢谢!

编辑:

我添加了从Google Code下载的源代码。再次感谢!

0 投票
2 回答
335 浏览

deployment - 第 3 方 Wix 库

我刚刚开始使用 Wix。我看到有几个库包含在默认的 Wix 安装中。我还看到用户可以创建自己的库(wixlibs)。是否有任何第三方 Wix 库可以为 Wix 添加其他功能,而这些功能可能未随默认安装打包?

0 投票
2 回答
6233 浏览

wix - Wix - 使用蜡烛的热量输出时如何处理项目参考?

我正在尝试在 web .csproj 上使用热量,然后在输出上使用蜡烛。到目前为止,我已经完成了:

接着:

但是,在后者上,我得到:

我究竟做错了什么?

另外,有没有办法在 Visual Studio Wix 项目中使用热量输出?