问题标签 [wix3.11]

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 回答
1119 浏览

wix - 卸载捆绑包不会删除 exe 包

我有以下bundle.wxs。

所有先决条件都是机器范围的,主要安装程序是每个用户的(它是一个 squirrel.windows 安装程序)。

ExePackage 元素的名称与安装程序的名称相同。

当我卸载捆绑包时,不会调用主安装程序。

我还尝试将自定义操作添加到链的末尾,以便显式卸载应用程序。该技术在这里描述:https ://stackoverflow.com/a/34111659/1151959

卸载时也不会调用自定义操作:

我得到了 install.txt,但没有得到 uninstall.txt。

请参阅下面的卸载日志(已替换敏感数据):

任何帮助是极大的赞赏!

0 投票
3 回答
1682 浏览

wix3.11 - WIX:找到重复符号“Property:WixUI_Mode”,创建自定义对话框

我有 3.14 版的 Wix 工具集和 VS2017 以及以下问题......当我尝试使用预定义的 WixUI_Minimal 获取我自己的对话框顺序时。同样的问题出现在 3.11 工具集中

  1. 步骤 在 VS2017 中创建 Wix 项目
  2. 复制 WixUI_Minimal.wxs 从 .\wix3-develop\wix3-develop\src\ext\UIExtension\wixlib
  3. 将文件 WixUI_Minimal.wxs 重命名为 Custom_Minimal.wxs 并包含到项目中
  4. Custom_Minimal.wxs 中的更改:

    <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Fragment> <UI Id="Custom_Minimal">

  5. 将 Custom_Minimal 引用添加到 Product.wxs:

    <Product Id="398c09df-6b61-4b0b-bf18-075a0bb98300" Name="SetupProject2" Language="1033" Version="1.0.0.0" Manufacturer="STH" UpgradeCode="524cff23-7bce-4078-9fb9-51b2eb7a844c"> <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> <UIRef Id="Custom_Minimal" />

  6. 尝试构建但有很多错误:

    Severity Code Description Project File Line Suppression State Error Duplicate symbol 'Property:WixUI_Mode' found. This typically means that an Id is duplicated. Check to make sure all your identifiers of a given type (File, Component, Feature) are unique. SetupProject3 C:\Users\...\source\repos\MtPubSubExample-mt3\SetupProject3\Custom_Minimal.wxs 28

还有更多相似...

有谁知道为什么会这样??

0 投票
2 回答
589 浏览

iis - Wix MSI 安装程序:如何在 applicationHost.Config 中设置为 override="deny" 时允许匿名身份验证

我有一个通过 Wix MSI 项目安装的 Web 应用程序。web.config 包括以下身份验证节点。一切都正确安装,但安装后,我收到错误消息:“配置部分不能在此路径上使用”。这是由于 applicationHost.config 中的配置锁定。

如何在安装过程中覆盖 applicationHost.config 设置?我在安装过程中安装了所需的 Windows 功能,但我缺少一个吗?

0 投票
0 回答
881 浏览

wix - WIX MSI 和自定义操作进度

我有一个具有 4 个自定义操作的 MSI,这些操作设置为在 InstallFiles 之后运行。自定义操作工作正常,但 MSI 中的进度条非常具有误导性。要达到自定义操作开始的地步可能需要大约 10-15 秒(它是一个小 MSI)。此时,进度条大概在 95% 左右。每个自定义操作大约需要一分钟。完成 95% 大约需要 15 秒,完成最后 5% 需要 4 分钟。

有没有办法告诉安装程序这些自定义操作需要一段时间才能运行?例如,如果我可以告诉安装程序每个自定义操作占总时间的 20%,那就太好了。因此,直到 InstallFiles 完成的所有内容都将完成 20%,然后在每个自定义操作之后,它会增加 20% 的完成。

我猜没有办法做到这一点(如果有,我在文档中错过了它),但有人知道实现这一点的方法吗?

0 投票
1 回答
264 浏览

c# - 通过 Wix 安装到程序文件夹后,C# exe 无法正常工作

我有一个 C# winforms 应用程序,一旦安装到C:/ProgramFiles文件夹中就无法工作。我使用使用 Wix 创建的 MSI 进行安装。当双击exe或右键单击并以管理员身份运行时,会弹出此窗口,然后什么也没有发生:

应用程序错误消息:

在此处输入图像描述

该应用程序在 Visual Studio 中运行,当通过我的 VS 项目的 bin/Debug 文件夹访问时(Debug 文件夹中的 exe 是我用于安装 Wix 的那个)。

安装 MSI 后,如果我将 exe 复制 C:/ProgramFiles到我的用户文件夹之一(例如C:/Users/User/Desktop:),则 exe 可以工作。

我猜这是某种UAC/permissions问题,但我找不到任何文件来证实该理论。任何方向将不胜感激。

编辑:查看错误日志,它拒绝我访问我的配置文件。这是错误文本: Access to the path 'C:\Users\*username*\AppData\Roaming\Leer Copy\leerConfig.xml' is denied.

编辑二:这个问题越来越令人困惑(和令人沮丧)。它将允许我写入 AppData 文件夹但不能从中读取(从技术上讲,它不应该表现得相反吗?)......非常感谢一些帮助。我正在通过 XDocument 读取我的 XML 文件的内容。

0 投票
2 回答
520 浏览

wix - 重建项目后,Wix 3.11“此操作仅对当前安装的项目有效”

我有一个 WiX 3 安装项目,使用带有 Wix 工具集 v3.11 的 VS 2017 社区,使用以下命令安装输出:

msiexec /i cient.setup.msi /lv output.log

一切都是好的。卸载使用

msiexec /x cient.setup.msi /lv output.log

也很好。但是,如果我重建 WiS 安装项目,然后尝试使用上述命令卸载,我会从 MSI 输出中收到错误 1602。即“此操作仅对当前安装的项目有效

这是我的Product.wxs文件的内容:

我感觉这与 GUID 问题有关,但我遵循了其他帖子中关于大写 GUID 和每次都重新生成产品 ID 的指南,以确保可以顺利推出升级。

我是 Wix 的新手(这是我的第一个项目),因此请善待!:)

0 投票
1 回答
620 浏览

c# - 未使用 WIX 中的 C# 自定义操作更新编辑控件

我有一个带有Edit控件的自定义 UI,我想使用在单击按钮时调用的 ac# 自定义操作来更新它。

这是我为向您展示问题而创建的测试 WIX 片段,它包含 UI 和自定义操作声明。

这是 C# 自定义操作:

现在这是我遇到的问题,如果我只是单击按钮,编辑框就会更新,但是,如果我先在编辑框中输入一些文本,然后单击按钮,编辑框将不再更新。

我检查了安装日志(通过使用此命令运行安装程序msiexec.exe /i MyInstaller.msi /l*vx Output.txt),这是我发现的:

根据此日志,该属性似乎已更新,但并未反映在 UI 上。

有谁知道这里发生了什么,我该如何解决?

0 投票
0 回答
83 浏览

.net - 在 WiX 中安装包含 System.Configuration.Install.Installer 实现的 .NET 程序集的正确方法

我正在构建一个 WiX 安装程序,它需要部署一个包含 .NET 实现的 .NET 程序集System.Configuration.Install.Installer

该程序集是基于 SDK 的插件。SDK 定义了一个特定于 SDK 的安装程序类,它继承自System.Configuration.Install.Installer. 然后程序集子类化 SDK 的安装程序类,但插件的子类基本上是空的;所有自定义安装操作实际上都在 SDK 代码中。因此,我不确定组件在安装/卸载过程中实际执行的安装操作,并且宁愿不尝试使用基本的 WiX 组件复制它们。我不拥有 SDK,因此无法轻松地用 DTF替换该System.Configuration.Install.Installer方法。

手动安装插件时,程序集是使用 InstallUtil.exe 注册的,但似乎不建议对基于 WiX 的安装程序调用 InstallUtil.exe。

当确实需要调用它们的自安装功能并且无法重写时,推荐使用 WiX 安装此类 .NET 程序集的方法是什么?

0 投票
2 回答
624 浏览

installation - Wix:在内置对话框中禁用控制

我正在使用 WiX,想知道我们是否可以禁用内置对话框中的控件。我的要求是禁用“CustomizeDlg”中的“浏览”按钮。

0 投票
3 回答
1626 浏览

wix - 如何定义目录结构(路径)以用作 WorkingDirectory 属性

我已经为 PyCharm 成功创建了一个 MSI,因为安装程序在静默模式下无法正常工作。所以我有了第一次成功使用 WiX 的经验。

现在,我从我们的开发人员那里得到了一个要安装的文件夹。该程序应该转到“C:\ProgramFiles\Folder A\Folder B”,因为稍后会有另一个包转到“C:\ProgramFiles\Folder A\Folder C”

所以,这就是我得到的(部分):

我现在正在尝试创建快捷方式

所以,我的意图是 APPLICATIONSUBDIRECTORY = "C:\ProgramFiles\Folder A\Folder B" 但它将是 "C:\ProgramFiles\Folder B"

我发现了这个: 使用环境变量工作目录设置 Wix 快捷方式

但如果已经有目录结构,我宁愿不使用其他属性。

撇开这个:

并且使用 APPLICATIONROOTDIRECTORY 会起作用,但我需要第二层文件夹。

Target属性也不喜欢这样。使用(变量的组合)

不工作,但

做。

由于我是 WiX 的新手,我仍在努力定义目录。前 2 个目录 ID 已加入,但第三个未加入。

这是我的批处理文件:

这就是“捕获”的目录结构:

等等