问题标签 [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.
windows-services - 在 WiX 安装程序中安装和启动 Windows 服务失败
我正在创建一个 MSI 包,用于使用 WiX v3.8 安装和启动 Windows 服务。代码如下:
但安装失败,日志中出现以下错误:
如何修复错误?
wix - 使用 Wix 扩展时,Server 2003 上的 Wix 安装失败
我有一个使用 Wix Extensions 的 *.msi 安装:
- WixFirewallExtension(创建防火墙例外)
- WixNetFxExtention(在安装时创建本机图像)
尝试在 Windows Server 2003(32 位和 64 位)上安装时,此 msi 失败并出现错误“安装提前结束...”。它可以毫无问题地安装在 Server 2008/Windows 7 等上。
在构建 msi 之前删除防火墙和本机映像部分可以使其正常安装,但显然没有额外的选项。
有谁知道问题可能是什么?
这是日志文件中显示失败的部分,但没有说明失败的原因。
其他注意事项:
- 删除防火墙部分但保留本机映像部分仍然会导致失败,这使我相信任何使用扩展的操作都会受到影响。
- 防火墙配置设置为忽略故障。
- 我已确认防火墙已启用并正在运行。
- 我尝试从管理员命令提示符安装,但这没有区别
wix - WiX 引导程序用户界面
我用扩展的 WiX 引导程序应用程序 (v3.7.4844.29798) 创建了一个捆绑包。一切正常,但我有一个小问题。我已更改用户将在“进度页面”上看到的文本。在 .wxl 文件中,我将文本更改为“正在复制和安装所需的程序文件。”
安装时,用户会看到“正在复制和安装所需的程序文件”。在进度页面上没关系。但是在卸载程序时,用户也会看到此文本,因为捆绑包使用了进度页面。
我想在安装 Bundle 然后卸载 Bundle 时再输入一个文本。可以使用条件或其他东西吗?
wix - 无法将 WixBundleProviderKey 变量传递给 msipackage
我对刻录内置变量 WixBundleProviderKey 有疑问。我需要将此变量的值传递给 msi 包。我的问题是这个变量的值没有被评估,并且 msi 只会收到一个空字符串。我已经用其他内置变量进行了测试,它按预期工作。
任何想法为什么这不起作用?有解决方法吗?
例子:
提前致谢
visual-studio-2013 - 在 Visual Studio 2013 中启用 WiX 项目
我有一个带有 WiX 安装程序项目的 VS 2012 解决方案。但是,当我在 VS 2013 (Release) 中打开解决方案时,WiX 项目不兼容。
有谁知道 VS 2013 版本(wixtoolset?)在哪里/是否可用?或者有没有办法让当前项目在 VS 2013 中兼容?
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。否则,它们是相同的。
对此有什么想法吗?
c# - Wix - 我在哪里安装 Windows 功能
我正在使用以下代码在我的 msi-setup 中安装 Windows 功能(如 IIS),它还安装了我的 wcf 服务。
工作正常,除了我需要在服务安装期间已经安装 II(以获取已安装网站的列表,等等。在 UI 中)。我创建了一个第二个安装项目并将代码放在那里,但如果我包含一个虚拟文件,它只会执行我的命令:
此外,我不希望在我的“已安装应用程序”列表中有第二个项目。这个的“正常”位置在哪里?我可以直接从引导程序执行我的命令吗?或者我可以在加载 UI 并检查任何条件之前执行自定义操作吗?
wix - Wix 补丁包服务
下面是两个非常基本的烧录引导程序的源代码。Bootstrapper 安装 2 个 MSI 包,然后 SP1 对 appdata MSI 包执行重大升级。最初这工作得很好,除了我有几个维修探针。
当我删除父引导程序时,删除子 SP1 补丁足够聪明。但是,当我从添加/删除程序中删除 SP1 更新时,根本没有安装任何 appdata。我必须对原始 Bootstrapper 包进行修复才能重新安装原始版本的 appdata。这是一个错误还是我实施错了?
我可以自己安装 SP1 包。如果尚未安装 Bootstrapper,如何防止安装 SP1?
如果我创建一个 Bootstrapper 2.0,它会正确取代 Bootstrapper 1.0 和 SP1。如果我运行 Bootstrapper 1.0,它会正确阻塞。但如果我运行 SP1,它会安装。如何仅将 SP1 限制为 Bootsrapper v1?
如果目前无法实现前两项,是否可以创建不可移动的 SP1?(强制删除和重新安装父捆绑包以恢复原始状态。)我看到了如何使用 DisableRemove 和 DisableModify 属性,但是它根本没有出现在添加/删除程序中,用户仍然可以返回EXE 并使用 WiXStdBA 删除捆绑包。
/li>
wix - WiX 3.8 导致 VS 2013 RC 灾难性故障
我整个早上都在尝试为 Visual Studio 2013 RC 安装 WiX 3.8。每次我尝试加载“合并模块项目”或任何与 WiX 相关的扩展时,都会遇到如下灾难性错误:
Catastrophic failure (Exception from HRESULT: 0x80000FFFF(E_UNEXPECTED))
其他人之前收到此错误吗?如果是这样 - 你是如何解决的?
谢谢。
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”组件连接?