问题标签 [wix3.10]
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.
wix - 如果 DisplayInternalUI="yes",Wix 引导程序在卸载期间不会调用 msi 文件
我有一个具有完整 UI 的现有 wix msi 项目。我创建了一个 wix 包并在此引导程序项目中引用了 msi 项目。它完美地安装了 msi,但在卸载过程中,当 msi 包的 DisplayInternalUI="yes" 时,它不会调用 msi。但是当 DisplayInternalUI="no" 为msi,它通过调用 msi 包正确卸载。如何解决这个问题。因为,我无法将 DisplayInternalUI 设置为 no,因为我希望在安装过程中显示 msi UI。有没有办法将 DisplayInternalUI 设置为 no在卸载期间和安装期间是。这是我的捆绑代码:
这是 Product.wxs 文件。
wix - WIX 父文件夹在卸载过程中没有被删除,但没有留下任何文件
我有这个 MSI,它包含在我的刻录引导程序 EXE 中。当我卸载此 MSI 并且没有安装其他 MSI 时,卸载此 MSI 不会删除父安装文件夹 (testInstallDir)。下面是我的wix文件。
我在这里做错了什么?没有文件了。只剩下空的 test2.0 文件夹。请指教。
c# - 是否可以在不创建服务项目的情况下使用 WIX 通过 Windows 服务运行 EXE?
我有这个 mosquitto.exe,我需要使用 WiX 将其安装为 Windows 服务。当我创建一个 Windows 服务项目并通过其启动方法运行 EXE 时,一切正常。但是是否可以仅使用 ServiceControl 和 ServiceInstall 行并且没有单独的 Windows 服务项目来运行 mosquitto.exe?我试过这个,但服务无法启动,虽然它不是很好。
我在这里做错了什么还是我真的需要通过使用 Windows 服务项目创建的另一个 exe 来启动这个 mosquitto.exe?任何帮助将非常感激。
xml - WiX 工具集在安装后执行自定义操作并等待完成
我想执行我的 .exe 文件,该文件MessageBox
在单击“确定”时显示并退出。CustomAction
应在安装完成后,但在显示Finish
对话框之前执行。问题是,我无法将主安装程序窗口设置为等待单击“确定”按钮(Finish
直接显示对话框,因此无需单击“确定”按钮即可完全关闭主窗口)。WiX 工具集版本:v3.10
产品源代码:
组件源代码:
wix - DiskCost 上路径未知的 WiX CopyFile
我需要复制外部文件,我从对话框中获取的位置。文件应该在安装时复制,所以我正在尝试使用CopyFile
element. 问题是,安装SourceProperty
程序CopyFile
启动时没有设置,所以它Error 1606. Could not access network location .
在CostFinalize
. 我假设,该安装程序正在尝试获取外部文件的大小。有没有办法强制安装程序不计算CopyFile
元素的大小,或者我必须执行自定义操作来复制文件,所以安装程序不会知道它?
我的文件组件:
安装前对话框中填写的属性:
文档规定SourceProperty
:
安装程序不应该默认忽略它吗?
我的工具集版本:WiX v3.10.3(稳定版)
jenkins - Jenkins 和 Wix 的 CI/CD:找不到源
我正在尝试使用Jenkins Wix 工具集插件来构建 msi。我已经在构建机器上安装了 Wix 3.10。
Jenkins 工作从 GitHub 中检查项目,我可以看到它运行良好。有 wxs 文件,但似乎找不到它们。
我已经在构建机器上安装了 Wix 并在 Jenkins 中配置了插件。
不确定它在这里查看哪个目录,但配置了 Jenkins 插件以通过 Ant 样式文件模式 \*.wxs 获取 wxs 源文件:
为什么我看到文件(包括 wxs 文件)被添加到 Jenkins 的“工作区”中,但 Wix 仍然无法找到它们?
当 Jenkins 构建运行时,我得到以下输出:
[wix] 找到来源:0 <--- 索引超出范围的原因
编辑1: 我设法克服了这个例外。原来我的 \*.wxs 的 Ant 样式文件模式不正确。相反,我使用了 **\*.wxs 并找到了该文件。原来还有一个问题。在我的 wxs 文件中,我引用了变量名称,例如“$(var.SolutionDir)”。Wix 抱怨它找不到这个:
这是在 .wixproj 文件中定义的,但 Jenkins Wix 插件似乎忽略了这一点......
那么我如何让 Jenkins 插件知道它应该知道还有一个 .wixproj 呢?
wix - WiX ComponentGroup Condition
I have a Feature
, which references a ComponentGroup
. That ComponentGroup
is defined in a Fragment
in another file and contains number of Component
s.
This project is shared across multiple versions of the product and I would like to maintain one version of the Product.wxs file (the codebase is common between the product versions).
Can I set a Condition on a ComponentGroup to determine whether or not to include it in the installer?
wix - WiX 和合并模块 - 是否包含策略文件?
我将 VS 2005 合并模块包含在 MSI 中。代码就位,MSI 构建。
在我的 Product.wxs 中:
我担心两个警告:
两条消息,因为我同时包含 32 位和 64 位合并模块。
我没有添加策略文件,因为wix 页面建议不要添加。MS 博客页面也支持这一点。但是,还有一些页面,比如这个,建议将它们包括在内。
所以,我不确定如何进行。是否应该包含策略文件?如果没有,为什么不呢?
visual-studio - wix 扩展中的冲突:NetFxExtension
我正在尝试使用 Wix 在 Visual Studio 2015 中创建一个引导程序项目。
引导程序的项目名称是 MTEBootstrapper,MSI 的 wix 项目的项目名称是 MTESetup。对于 MTEBootstrapper,我从 Wix 3.10 添加了对 WixNetFxExtension.dll 的引用;在 MTEBootstrapper 的属性中,我添加了-ext WixNetFxExtension.dll
. 现在,当我尝试构建 MTEBootstrapper 时出现此错误:
我不知道是什么原因造成的。我如何解决它?
wix - Wix - ICE 64 错误:链接外部组件组
我使用热量来收集我需要的文件作为我的安装程序中的组件,并将它们写入一个单独的 wxs 文件,它工作得很好。
生成文件示例:
... 等等....
现在我在我的 SetupMain 中使用它们:
不幸的是,我的所有组件和目录都出现了 ICE64 错误:
ICE64 错误:目录 XX 在用户配置文件中,但未在 RemoveFile 表中列出 ICE64 错误:组件 xxenter code here
安装到用户配置文件它必须在 HKCU 下注册一个注册表项作为其密钥路径,而不是文件...
我该如何解决?我在互联网上搜索了一段时间,但找不到提示。这似乎是一件非常简单的事情,基本上我忘了在我的 main.js 中定义。我的目标是构建一个简单的安装程序,它在安装时使用 heat 命令复制文件构建中定义的目录结构,并在卸载时将其删除。
更新 1: 小更新我如何使用 RemoveFolder 和 RegistryValue 标签在以下答案的帮助下修复错误:
...我不知道这是否是最好的方法,但它现在可以工作。感谢您在将其与heat.exe 自动化一起使用时的任何改进建议或最佳实践。
最后一点是我仍然有警告:
ICE91:文件 x 将安装到每个用户目录 y 中,该目录不会根据 ALLUSERS 值而变化。即使需要按机器安装,此文件也不会复制到每个用户的配置文件中。
我读到这个警告是无害的。但无论如何,很高兴了解将来某个时候可能解决警告的原因。