问题标签 [wix3.8]

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 投票
5 回答
19481 浏览

windows-services - 在 WiX 安装程序中安装和启动 Windows 服务失败

我正在创建一个 MSI 包,用于使用 WiX v3.8 安装和启动 Windows 服务。代码如下:

但安装失败,日志中出现以下错误:

如何修复错误?

0 投票
1 回答
408 浏览

wix - 使用 Wix 扩展时,Server 2003 上的 Wix 安装失败

我有一个使用 Wix Extensions 的 *.msi 安装:

  • WixFirewallExtension(创建防火墙例外)
  • WixNetFxExtention(在安装时创建本机图像)

尝试在 Windows Server 2003(32 位和 64 位)上安装时,此 msi 失败并出现错误“安装提前结束...”。它可以毫无问题地安装在 Server 2008/Windows 7 等上。

在构建 msi 之前删除防火墙和本机映像部分可以使其正常安装,但显然没有额外的选项。

有谁知道问题可能是什么?

这是日志文件中显示失败的部分,但没有说明失败的原因。

日志文件

其他注意事项:

  • 删除防火墙部分但保留本机映像部分仍然会导致失败,这使我相信任何使用扩展的操作都会受到影响。
  • 防火墙配置设置为忽略故障。
  • 我已确认防火墙已启用并正在运行。
  • 我尝试从管理员命令提示符安装,但这没有区别
0 投票
1 回答
518 浏览

wix - WiX 引导程序用户界面

我用扩展的 WiX 引导程序应用程序 (v3.7.4844.29798) 创建了一个捆绑包。一切正常,但我有一个小问题。我已更改用户将在“进度页面”上看到的文本。在 .wxl 文件中,我将文本更改为“正在复制和安装所需的程序文件。”

安装时,用户会看到“正在复制和安装所需的程序文件”。在进度页面上没关系。但是在卸载程序时,用户也会看到此文本,因为捆绑包使用了进度页面。

我想在安装 Bundle 然后卸载 Bundle 时再输入一个文本。可以使用条件或其他东西吗?

0 投票
4 回答
1071 浏览

wix - 无法将 WixBundleProviderKey 变量传递给 msipackage

我对刻录内置变量 WixBundleProviderKey 有疑问。我需要将此变量的值传递给 msi 包。我的问题是这个变量的值没有被评估,并且 msi 只会收到一个空字符串。我已经用其他内置变量进行了测试,它按预期工作。

任何想法为什么这不起作用?有解决方法吗?

例子:

提前致谢

0 投票
7 回答
72119 浏览

visual-studio-2013 - 在 Visual Studio 2013 中启用 WiX 项目

我有一个带有 WiX 安装程序项目的 VS 2012 解决方案。但是,当我在 VS 2013 (Release) 中打开解决方案时,WiX 项目不兼容。

有谁知道 VS 2013 版本(wixtoolset?)在哪里/是否可用?或者有没有办法让当前项目在 VS 2013 中兼容?

0 投票
1 回答
1437 浏览

wix - Wix - 取代补丁没有任何作用

我已经看到很多类似这样的问题在整个地方都被问到了,但我发现没有一个与我的特殊转折有关的问题得到了回答。我正在使用纯粹的 wix来构建小升级。

这个问题是一个与我的场景非常相似的例子,除了最后一部分。

  • 我有一个产品,我为它构建了一个 RTM msi 文件,我们称之为 Product-1.0.msi
    • 包含 A.dll
  • 然后我构建了一个名为 Product-1.0.1.msp 的补丁,它使用 Product-1.0 作为它的基线
    • 添加 B.dll
  • 然后我构建了一个名为 Product-1.0.2.msp 的补丁,它也使用 Product-1.0 作为它的基线
    • 添加 B.dll + C.dll

这意味着我的补丁将始终包含前面的修复并相互取代。

场景:

  • 1.0 -> 1.0.1工作正常
  • 1.0 -> 1.0.2工作正常
  • 1.0 -> 1.0.1 -> 1.0.2不起作用

在最后一个场景中,msp 运行没有任何问题,但速度非常快。事后原因很明显,因为实际上什么都没做。在 ARP 中,补丁与版本 1.0.2 一起列在 Installed Updates 下,但目标产品未更新,添加到补丁 (C.dll) 的文件未添加到安装文件夹。更新也是如此,第二个补丁不会修改文件。

但是,在卸载 1.0.2 时,补丁 (C.dll) 中包含的文件会被删除,包括已经随 1.0.1 (B.dll) 安装的文件。

产品代码不变。
UpgradeCode 不变。

这是 Patch.wxs 的内容:

在此代码段中,{Version} 在第一个补丁中为 1.0.1,在第二个补丁中为 1.0.2。否则,它们是相同的。

对此有什么想法吗?

0 投票
1 回答
1573 浏览

c# - Wix - 我在哪里安装 Windows 功能

我正在使用以下代码在我的 msi-setup 中安装 Windows 功能(如 IIS),它还安装了我的 wcf 服务。

工作正常,除了我需要在服务安装期间已经安装 II(以获取已安装网站的列表,等等。在 UI 中)。我创建了一个第二个安装项目并将代码放在那里,但如果我包含一个虚拟文件,它只会执行我的命令:

此外,我不希望在我的“已安装应用程序”列表中有第二个项目。这个的“正常”位置在哪里?我可以直接从引导程序执行我的命令吗?或者我可以在加载 UI 并检查任何条件之前执行自定义操作吗?

0 投票
1 回答
1928 浏览

wix - Wix 补丁包服务

下面是两个非常基本的烧录引导程序的源代码。Bootstrapper 安装 2 个 MSI 包,然后 SP1 对 appdata MSI 包执行重大升级。最初这工作得很好,除了我有几个维修探针。

  1. 当我删除父引导程序时,删除子 SP1 补丁足够聪明。但是,当我从添加/删除程序中删除 SP1 更新时,根本没有安装任何 appdata。我必须对原始 Bootstrapper 包进行修复才能重新安装原始版本的 appdata。这是一个错误还是我实施错了?

  2. 我可以自己安装 SP1 包。如果尚未安装 Bootstrapper,如何防止安装 SP1?

  3. 如果我创建一个 Bootstrapper 2.0,它会正确取代 Bootstrapper 1.0 和 SP1。如果我运行 Bootstrapper 1.0,它会正确阻塞。但如果我运行 SP1,它会安装。如何仅将 SP1 限制为 Bootsrapper v1?

  4. 如果目前无法实现前两项,是否可以创建不可移动的 SP1?(强制删除和重新安装父捆绑包以恢复原始状态。)我看到了如何使用 DisableRemove 和 DisableModify 属性,但是它根本没有出现在添加/删除程序中,用户仍然可以返回EXE 并使用 WiXStdBA 删除捆绑包。

    /li>
0 投票
1 回答
382 浏览

wix - WiX 3.8 导致 VS 2013 RC 灾难性故障

我整个早上都在尝试为 Visual Studio 2013 RC 安装 WiX 3.8。每次我尝试加载“合并模块项目”或任何与 WiX 相关的扩展时,都会遇到如下灾难性错误:在此处输入图像描述

Catastrophic failure (Exception from HRESULT: 0x80000FFFF(E_UNEXPECTED))

其他人之前收到此错误吗?如果是这样 - 你是如何解决的?

谢谢。

0 投票
0 回答
77 浏览

visual-studio-2012 - WIX:VS2013_IDE_VWD_PROJECTSYSTEM_INSTALLED 属性有效吗?

当没有安装 Visual Studio 的 Web Developer 组件时,我的安装程序必须显示警告。这是代码:

它适用于 VS2010(在未安装组件时显示,安装后不显示),但在没有“Microsoft Web 开发人员工具”的情况下安装 VS2012 和 VS2013 时不显示。

图片

也许 VS2013_IDE_VWD_PROJECTSYSTEM_INSTALLED 没有与“Microsoft Web Developer Tools”组件连接?