问题标签 [wix]

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 投票
6 回答
11486 浏览

wix - 包括所有依赖项

我刚开始使用 WiX,因为我需要能够在我们的 CI 服务器上自动构建 MSI。反正有没有自动包含项目的所有依赖项?

0 投票
1 回答
1554 浏览

installation - 使用 WixUI_Minimal 的 Wix 自定义操作

因此,我尝试在应用程序完成安装后(尽管实际上,运行辅助应用程序并不重要,因为它在安装过程中不会与已安装的文件交互),运行另一个程序与应用程序捆绑在一起。相关代码(用“...”替换各种内容:

我检查了目录,文件在我预期的位置,但在安装过程后没有执行。事实上,我什至不想安装该文件,只需运行然后删除即可。但我暂时忽略它。无论如何,我已经看到了几个在对话后触发动作的例子,但由于我目前正在使用<UIRef Id="WixUI_Minimal" />,我认为这并不理想。

0 投票
3 回答
3540 浏览

installation - 在没有 SelfReg 的情况下安装 Capicom:未找到 Wix 自定义操作 (Err 2721)

在成功遵循这个问题中的建议后,我为另一个自定义操作添加了几行额外的代码。这个是为了在我试图放入用户系统文件夹的 capicom 副本上调用 regsvr32。但是,我收到错误 2721,从我所见,这似乎是未找到自定义操作错误。有什么建议么?我试图通过调用 regsvr 来保持与我的安装程序以前迭代的一致性,而不是仅仅在安装期间添加注册表项,这可能是一个好主意。:::耸肩:::

编辑:是的,使用 regsvr32 作为安装程序很难看。但是当我下载 Capicom SDK 时,MS 说要安装它。四处搜索发现很多人说这是一种愚蠢的方法……但这也是MS提供的机制。我会听取建议以寻求更好的方法。考虑到它是标准的 Windows 组件,如果在卸载我的应用程序时留下 Capicom,我认为这没什么大不了的。

编辑:嗯。显然,在 dll 上运行 selfreg 所做的事情之一就是创建一个随机种子以添加到注册表中。不确定它使用什么机制来生成这个种子,但我怀疑自己生成一个会被认为是低俗的,特别是如果我给所有用户提供相同的种子。不确定.... 显然,如果我跳过这个 Capicom 会自己做,所以我很好。

0 投票
2 回答
5211 浏览

.net - 如何在使用 WiX 安装期间加密 app.config 文件部分?

我在这里找到了一个在安装期间加密 web.config 的示例,但我的应用程序是 Windows 服务。该aspnetreg_iis方法仅适用于 web.config 文件。

我知道如何以编程方式加密配置文件,但我认为我不能使用 WiX 来做到这一点。我错了吗?有任何想法吗?

0 投票
11 回答
44775 浏览

wix - 学习如何从 WiX 创建 MSI 安装程序的好资源

我已经放弃尝试将口红应用到从Visual Studio出来的安装程序的猪身上,并决定看看WiX

您会推荐哪些资源来学习和参考?

(注意——这不是你使用哪个安装技术的问题——它特定于 WiX。)

0 投票
3 回答
1401 浏览

wix - 在 WIX 的命令行中指定 InstallPrivileges 是否受到限制或提升的最佳方法是什么?

我想在 WiX 中创建一个 MSI,以便它可以采用命令行参数来指示它是按机器安装还是按用户安装,因此是否引发 UAC 对话框。

实现这一目标的最佳方法是什么?

0 投票
6 回答
130608 浏览

wix - 如何添加仅在卸载时发生的 WiX 自定义操作(通过 MSI)?

我想修改 MSI 安装程序(通过WiX创建)以在卸载时删除整个目录。

我了解 WiX 中的RemoveFileRemoveFolder选项,但这些选项不够强大,无法递归删除具有安装后创建的内容的整个文件夹。

我注意到类似的 Stack Overflow 问题Removing files when uninstalling WiX,但我想知道这是否可以更简单地使用调用批处理脚本来删除文件夹来完成。

这是我第一次使用 WiX,我仍然掌握自定义操作的窍门。将在卸载时运行批处理脚本的自定义操作的基本示例是什么?

0 投票
5 回答
8673 浏览

visual-studio-2008 - 带有 WiX、Inno Setup 和 VS2008 的自动构建版本号

基本上我需要的是一种自动化的方式来更新 WiX 中的产品版本号(带有 Votive 等的 3.0),然后将该版本号放入 Inno Setup“引导程序”中

我几乎让这个过程大部分是自动化的,但是版本号仍然需要手动更新,这显然不理想,但我找不到如何在编译时将值传递给 Inno Setup(以及如何引用它们),在 WiX 项目中,我需要知道如何在 Visual Studio 2008 的同一解决方案中引用不同项目的版本号

0 投票
2 回答
6385 浏览

wix - 使用 WiX 管理配置文件

我有一个包含多个文件的应用程序,这些文件包含配置参数和其他随着用户使用应用程序而更改的数据。这些文件可以随着我的软件的较新版本而更改,但用户也可以修改它们(或者它们可能由应用程序本身更改)。基本上,我正在寻找一种解决方案来防止用户对这些文件的更改被覆盖,同时也是一种在用户升级我的软件时安装可能更新的文件的方法。

使用 *NIX 上的 RPM,您可以使用 %config 函数将文件定义为配置文件,然后 RPM 将重命名现有文件(如果存在)并在升级时安装新文件(可能不理想,但我可以活对于 WiX 有类似的东西)。

我想将我的配置文件安装到子目录甚至不同的名称(例如 default.cfg),然后使用<CopyFile>WiX 中的元素将文件复制到正确的位置。这样,默认文件将在安装时被删除并在升级时被覆盖,但实际用户文件将保持不变。不幸的是<CopyFile>,Windows Installer 仍然希望管理(和删除)目标文件。

我还考虑过在 WixUtilExtension 中使用 QtExec 操作来基本上执行“复制 default.cfg reallocation.cfg”,但这不太可行,而且有点破解。

处理这个问题的正确方法是什么?

0 投票
1 回答
1038 浏览

wix - 为什么每次卸载并重新安装我的应用程序时,添加/删除程序中的应用程序大小都会增加?

这是一个 WiX MSI 安装程序,每次我在我的虚拟机环境中卸载并重新安装它时,添加/删除程序中报告的大小都会变大。当安装的文件只有 30MB 多一点时,它现在高达 200MB。知道这是怎么发生的以及我可能做错了什么吗?

编辑:不使用任何自定义操作,并且我没有任何用于卸载的东西,只是假设 WiX 会在卸载后自行清理,而且似乎如此。据我所知,报告的大小不正确,我找不到任何重复的文件或任何东西。