问题标签 [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.

0 投票
1 回答
766 浏览

wix - 了解 perUser 和 perMachine 的 keyPath 问题

WIX 3.10

我在网站上阅读了答案,但似乎没有一个能满足我的好奇心,以了解 perUser 与 PerMachine 之间的区别KeyPath

这是 perUser 部分

所以我的目录层次结构是(perUser)

并且在构建时我收到错误消息说组件具有每个用户和每台机器的数据以及每台机器的 keyPath。我怎么知道 keypath 是用于机器还是用户?成为每个用户特定的 DirRef 的孩子还不够吗?

例子:

现在,当我删除 keyPath 它仍然抱怨 keyPath 冲突。任何想法或解释

0 投票
1 回答
161 浏览

wix - 安装目录基于 ProductCode

我对 Wix 很陌生。

我从这个例子开始:

https://helgeklein.com/blog/2014/09/real-world-example-wix-msi-application-installer/

他有一个计算例程,它使用变量(实际上是如下所示的语言环境信息)计算出 INSTALLDIR。

其中(在示例中)解析为:

C:\Program Files (x86)\Helge Klein\uberAgent\

我正在尝试使 ProductCode 成为所有嵌套子文件夹的(最后一个)子文件夹。

阿卡,我想要:

C:\Program Files (x86)\Helge Klein\{22222222-2222-2222-2222-222222222222}\

我找到了这个:

在 Wix 中获取生成的 ProductCode 作为变量

所以我试图将代码更改为:

并且

不幸的是,这给了我

而不是实际 ProductCode 的 Guid 值

我为什么要这样做?

我正在进行实例安装,并且

和这篇文章

http://ysdevlog.blogspot.com/2011/08/revisited-multiple-instance.html

说:

对于文件数据,这意味着将每个实例的文件安装到不同的位置——包含实例 ID 作为其一部分的路径最合适。

如何在这个“计算”安装目录逻辑中“获取”ProductCode?

谢谢。

不可用标签:Wix 3.10 版

请注意重复的问题“标签”。

这与Wix 安装程序不同 - 基于属性创建文件夹层次结构,因为宏值实际上是解析的。

这里的问题是宏值无法解析。

0 投票
0 回答
622 浏览

c# - 如何使用 WiX 在安装程序中添加预先存在的多个 .exe 文件?

我是 WiX 的新手。我有多个不同供应商提供的 .exe 文件。我需要将它们与我开发的另一个应用程序(.exe)结合在一起。我为我的应用程序使用了 WiX 并为它创建了一个安装程序(安装开发的 exe 文件)。

如何将预先存在的 .exe 文件添加到同一个安装程序包中,以便生成的包将安装所有 .exe 文件以及开发的 .exe 文件。提前致谢。

0 投票
0 回答
645 浏览

visual-studio-2015 - 从发布配置中的捆绑包安装时,WiX Msi 未在安装路径中创建文件夹

我有一个使用 WiX 工具集创建的 Exe 包,其中捆绑了 7 个 MSI。我在安装路径中创建了 7 个文件夹。每个 MSI 一个文件夹。当我使用 Configuration==Debug 构建我的 WiX Bootstrapper 项目(Bundle)时,使用 Visual Studio 2015 并安装输出 Exe 包(MySetup.exe),一切正常。所有 7 个文件夹都在我的安装路径中创建。

但是当我使用 Configuration==Release 构建并安装输出 Exe 包时,我的安装路径中只创建了 6 个文件夹。一个特定的 Msi 没有创建它应该创建的文件夹。在检查日志文件后,我发现没有什么重要的。MySetup.exe日志和MyProblematicMsi日志中的两个日志文件(调试和发布)都相似。

这是我在调试配置和发布配置中的 Exe 包日志文件。

我还在调试发布配置中附加了有问题的 Msi 包日志文件。

我怎样才能弄清楚这种对比鲜明的行为?

0 投票
1 回答
200 浏览

wix - Wix Burn:如何存储自定义 InstallFolder 以供以后修改?

我正在尝试解决这个问题一段时间。我为我的引导程序应用程序创作了一个自定义 UI。为 InstallFolder 设置默认值不是问题,但是当用户更改此路径时,如何存储此路径以供以后在添加/删除程序中进行更改,例如,当应通过修改捆绑包来安装捆绑包中的另一个包时?在注册表中写入可能是一种选择,但引导程序应用程序不会一直运行提升,因此它无法写入 HKLM。但是应该有办法做到这一点,我在 Visual Studio 中看到了类似的东西......

0 投票
1 回答
392 浏览

wix - 可以签署 Wix 自定义操作项目吗?

我们正在使用 Wix 进行安装项目,并在其中有一个单独的 CustomAction 项目。CustomAction 项目(强签名)有一个依赖项目(称为 ProjA)引用,该引用是强签名的。

Case1# Custom Action 和 ProjA 项目都已签名,然后出现以下错误。无法加载文件或程序集 XXX.CustomAction、Version=2.5.2.0、Culture=neutral、PublicKeyToken=XXXXXXXXX' 或其依赖项之一。强名称验证失败。(来自 HRESULT 的异常:0x8013141A)。

Case2#如果我们从自定义操作项目中删除强签名并保持 ProjA 签名,那么我们会收到以下错误无法加载文件或程序集 XXX.ProjA,版本 = 2.5.2.0,文化 = 中性,PublicKeyToken = XXXXXXXXX' 或其依赖项之一. 强名称验证失败。(来自 HRESULT 的异常:0x8013141A)。

案例 3 #如果我们从自定义操作和 ProjA 项目中删除强签名,则设置运行成功。因此,我们正在寻找要解决的案例#1。

有人对此有想法吗?

0 投票
1 回答
149 浏览

wix - 使用 wix3.10 安装程序删除漫游中的文件夹

卸载我的应用程序时,我想删除应用程序添加的文件夹。卸载程序似乎只删除了最初从 MSI 文件安装的目录和文件。如何删除应用程序创建的文件夹?

0 投票
1 回答
1701 浏览

wix - wix 工具集引导程序无法检测重建后安装的包

我正在使用引导程序来包含单个 MSI。如果我已经安装了捆绑包,然后通过启动捆绑包 EXE 重新安装,它可以检测到捆绑包已经安装。但是,如果我重建解决方案,即使没有更改单行代码,捆绑安装 EXE 也不会检测到捆绑已安装,而是会安装新版本(在程序和功能表中创建重复条目),但会跳过安装微星。如果我启动 MSI,它将检测到已安装相同的软件包。这会导致很大的问题,因为我每天都有构建工作来构建带有应用程序的安装程序,因此它无法检测是否安装了相同的版本。烧录配置很简单

MSI包定义为

查看日志,可以发现 WixBundleInstalled 为 0。

0 投票
0 回答
314 浏览

process - WiX 等待启动的进程完成安装

我正在使用以下行从已安装目录中的 exe 执行进程。

我正在使用这种方法在安装后使用参数静默运行 exe。但是安装程序正在等待生成的进程终止以完成安装。尽管该进程已生成,但安装程序仍挂在那里。它仅在我关闭生成的进程时完成。这是因为我相信 Return=ignore 属性。也许 async-no-wait 会有所帮助。但这需要 ExecCommand 而不是 SetProperty。使用它的问题是它在安装后启动命令提示符以生成进程。这里有点陷入死锁。任何帮助将非常感激。

0 投票
0 回答
534 浏览

service - WiX 可以忽略服务启动失败吗?

使用 WiX 3.10.3

我有一个在安装过程中无法启动的服务。希望这种启动失败不会导致安装失败并回滚。

我的服务配置:

我没有遇到允许安装程序尝试启动服务但忽略结果的正确属性组合。这可能吗?