问题标签 [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 投票
0 回答
118 浏览

https - Wix Burn 引擎中 DownloadURL 的 HTTPS 链接不起作用

如果我使用 https 作为 DownloadURL,如下例所示

安装程序没有从网上下载 exe。在提琴手中,我看到的网址是http://go.microsoft.com:443/fwlink/?LinkId=164193/dotNetFx40_Full_x86_x64.exe,我没有将请求转发到 download.microsoft.com。但是,如果我在浏览器中键入相同的 URL,它就可以工作。我需要做一些特别的事情才能与 Wix 燃烧引擎一起工作吗?

0 投票
1 回答
1406 浏览

wix - wix Restart Manager 成功关闭应用程序但说它不能

在我的 wix 项目中,我有一个文件“connect.exe”,通常会在卸载或更新期间运行。在卸载和主要更新期间,Wix 将在关闭之前提示通常的“在继续安装之前应关闭以下应用程序”。

此对话框成功关闭程序:

但紧接着,它会抛出一个错误,说它无法关闭应用程序:

即使应用程序在系统上明显关闭。此外,在安装程序完成更新后进行重大更新时,它不会重新启动它。

其他一切似乎都很好。

值得注意的是,connect.exe 程序运行的窗口大部分时间都是隐藏的。它主要用作通过 Windows 系统服务运行的 service.exe 的屏幕显示。

我该如何解决这个问题?我没有在 connect.exe 应用程序端处理什么吗?

connect.exe组件入口:

0 投票
1 回答
2251 浏览

xml - 无法加载 WixUIExtension.dll

我正在尝试制作一个 wix 安装程序。对于 Web 应用程序。

以下是我的 wsx v3.11 文件

我的问题是我不知道这个错误消息是什么意思,并且不知道如何修复它。

程序集中未定义“Microsoft.Tools.WindowsInstallerXml.AssemblyDefaultWixExtensionAttribute”或扩展名中定义的类型“.......\Program Files (x86)\WiX Toolset v3.11\bin\WixUIExtension。 dll' 无法加载。

0 投票
1 回答
136 浏览

wix - Wix 安装程序 - 我可以按部分执行启动条件吗?

我正在使用 WiX 3.10。我有一个特定的场景,其中在启动条件之前发生了一些自定义操作,因为在启动条件期间,我评估在这些自定义操作期间设置的某些属性。但是,在启动条件下,我还必须检查 .Net 框架的版本。问题是,如果我没有所需的 .Net Framework,自定义操作会在达到启动条件之前执行,并且不会向用户显示消息。

我可以按特定顺序执行启动条件,还是必须更改自定义操作才能在启动条件后执行?我需要帮助。不是 WiX 专家。

参考代码:

0 投票
1 回答
654 浏览

wix - 在 WiX 中将 Zip 文件添加到 TARGETDIR

在我的 Visual Studio 2017 解决方案中,我有一个 WiX 3 设置项目,该项目可以提取其他几个项目(库、可执行文件、资产、内容)的输出。在解决方案的目录结构下但没有作为项目添加到解决方案中,我有一个使用 webpack 编译一些浏览器扩展的项目。这个 webpack 项目输出到一个 artifacts 文件夹,其中包含每个浏览器的子目录。在每个子目录中都是编译后的扩展,文件名中包含版本号,例如:

  • 人工制品
    • 铬合金
      • myextension-0.1.0.0.zip
      • myextension-0.1.0.1.zip
      • myextension-0.1.0.2.zip

在编译时,最终我想将与版本号匹配的文件,即 myextension-\$(var.VERSION).zip 包含到 MSI 包中,以便在安装过程中将其放入应用程序文件夹中。即使我将版本号(即 myextension-0.1.0.2.zip)硬编码到组件中,我也会收到错误消息:

我正在使用这样的定义获取目录:

然后我的组件看起来像这样:

当我查看由蜡烛创建的 wixobj 时,我看到完整的正确路径被替换为它驻留在我的系统上的文件:

所以我的问题是,在我的 WiX 项目中包含“任意”文件的正确方法是什么?

0 投票
0 回答
303 浏览

wpf - 如果安装了防病毒软件,WPF 安装程序将失败

我有一个使用 WIX、WIX Custom Bootstrapper 和 Burn 创建的 WPF 安装程序。我使用 3.9 版本的 WIX 来创建和编译 WIX 文件。我尝试在已经安装了 AVG Antivirus 并且我的安装程序正确安装在其中的计算机上安装该安装程序。然后我将 WIX 更新到 3.11 版本并编译 WIX 源文件,然后构建 WPF 安装程序。现在,我尝试在已安装 AVG Antivirus 的同一台机器上安装我的安装程序。安装程序安装失败,出现如下异常,

错误 0x800700e8:无法等待子连接到管道。错误 0x800700e8:无法连接到提升的子进程。错误 0x800700e8:未能实际提升。错误 0x800700e8:无法提升。

我已禁用 AVG 防病毒软件并尝试安装使用 3.11 构建的安装程序。WPF 安装程序正确安装在该机器中。

任何人都建议我如何解决这个问题,任何帮助将不胜感激?

0 投票
1 回答
322 浏览

installation - wix burn ExePackage 在卸载时不运行

我正在尝试使用 WIX 刻录运行捆绑安装,它适用于安装过程。问题是卸载 - 我想在卸载期间运行的 ExePackage 没有运行。为了验证,我每次运行它时都会写入日志,在安装期间我会在日志中获得一条新记录,但在卸载期间我没有得到一条。包源文件是 InstallElasticSearch.exe(链中的第二个),到目前为止我没有尝试过任何工作。我尝试更改“永久”属性,更改它在链中的顺序并删除 UninstallCommand。

任何帮助,将不胜感激。

0 投票
1 回答
388 浏览

wix - 基于 ALLUSERS / MSIINSTALLPERUSER 的“隐藏”功能

我有一个安装程序,我正在将其从仅管理员安装转换为能够为当前用户或所有用户安装的单包创作安装程序。我的两个功能需要写入普通用户无法使用的注册表项。他们处理与另一个应用程序的集成,所以我不能在用户空间的其他地方写入注册表值......他们必须进入这个位置。

如果用户不是管理员,我不担心用户无法安装这两个特定功能,如果未选择安装程序,则安装程序功能不会出现问题,但我不想在功能树中显示它们并确保它们不包含在“完整”安装中。

我见过的解决方案让我在组件周围设置条件,这样组件就不会被安装......或者在功能内部设置一个条件,将它的级别设置为某个高值。如果 ALLUSERS=2 或 MSIINSTALLPERUSER=1,我如何完全禁用和/或隐藏该功能。

0 投票
2 回答
944 浏览

wix - WiX - 如何在文件浏览对话框后刷新编辑控件

在安装 WiX 期间,我需要有一个 FileBrowseDialog。我制作了自己的自定义对话框,该对话框引发了 OpenFileDialog 并在会话属性中设置了选定的值(在此处找到代码)。我需要一种方法来使用选定的完整路径刷新编辑控件。现在,选择文件后,编辑控件保持空白。我如何实现这一目标?我不是 MSI 或 WiX 方面的专家。

蜡码

自定义操作代码

更新

发现解决方案是在执行与 BROWSE 按钮相关的操作之前调用 RESET 事件。执行自定义操作后,我还执行了 PUBLISH PROPERTY。往下看。

0 投票
0 回答
102 浏览

wix - Wix - 我如何在安装过程中执行过程?

在安装过程中,我需要在特定条件下执行可执行文件 (EXE)。执行必须在自定义操作中完成。问题是自定义操作被推迟,并且由于某种原因该过程没有被执行。

我需要用参数调用 .EXE。EXE 位于安装过程中始终创建的文件夹中。我需要走那条路,但还不知道怎么走。我现在使用硬编码路径并将其存储在属性中。

调用可执行文件时,它会接收一个参数,该参数是它需要读取的文件所在的路径。

我究竟做错了什么?

更新

我让它工作。但是,现在我需要让它以提升的权限运行,但不提示我。有没有办法做到这一点?