问题标签 [wix]

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 投票
3 回答
11234 浏览

windows - 使用 WiX 生成和安装 Typelib

询问了 Visual Studio 为注册 COM 库做了什么之后,很明显 VS 为 COM 注册做了两件事:

  1. 注册 COM 库
  2. 创建并注册类型库

Visual Studio 似乎使用 regasm.exe 进行此注册。对于第一部分(直接 COM 注册),使用tallowor heat(WiX 2.0 或 WiX 3.0)似乎可以正确获取所有基本 COM 注册信息。

但是,tallow/heat 似乎没有做的是设置类型库安装。可以使用 WiX 安装程序和 regasm.exe 创建自定义操作来执行此操作,但对于基于 Microsoft 安装程序的安装程序,调用自定义操作并不是最佳实践。

经过进一步研究,看起来 msi 具有在安装时生成类型库的能力。事实上,WiX 似乎对它有直接的支持!在文件元素中,您可以添加Typelib元素。事实上,这里关于 wix 的一篇文章有​​一个使用Interface元素填充 TypeLib 元素的示例。

Interface 元素似乎至少有两个必需的属性:

  1. ID
  2. 姓名

Larry Osterman 谈到了需要为 TypeLib 注册的接口的其他部分,这个接口条目似乎照顾了各个部分。Larry 说我们需要将 ProxyStubClassId32 指定为“{00020424-0000-0000-C000-000000000046}”,因此我们可以轻松添加它。

从那里去哪里以及为各种界面元素填写什么让我很难过。我已经继续并将 TypeLib 元素添加到我的 wix 文件中,并且它成功编译。不过,我对如何设置界面元素有点无能为力。我们需要做什么才能正确填写 TypeLib 元素,我可以使用哪些应用程序或工具来获取它?

wcoenen 下面的答案看起来很有希望......我要试一试。

更新:在下面发布我的最终解决方案作为答案。

0 投票
3 回答
13562 浏览

wix - WiX 包含 vs 片段

  • .wxiWiX 包含(文件)和 WiX 片段(文件)有什么区别.wxs
  • 每个的用例是什么?
  • 应该使用哪个,为什么?
0 投票
4 回答
10869 浏览

wix - 从 InstallShield 切换到 WiX

我正在寻找 InstallShield 的替代品。不幸的是,我们只有 1 个 InstallShield 许可证,并且它安装在开发人员的机器上。我正在考虑切换到 WiX,但在阅读文档后,有一个产品 ID GUID、升级代码 GUID 和一个包 GUID。

我也知道 GUID 是由 InstallShield 创建的。如果我切换到 WiX,我可以开始使用新的 GUID 还是使用 InstallShield 创建的一些 GUID?如果发布了对产品的升级,更换安装程序是否会影响使用旧安装程序的客户?

0 投票
5 回答
21753 浏览

user-interface - 如何将 UI 添加到 WiX 3 安装程序?

我试过<UIRef Id="WixUI_Minimal" />了,但我得到“未解决的对符号 WixUI:WixUIMinimal 的引用”。我究竟做错了什么?

0 投票
5 回答
35104 浏览

wix - 如何在没有许可证页面的情况下构建最小的 WiX 安装程序 UI?

我想使用 WixUI_Minimal 安装程序,但我不想要许可证页面。我怎样才能做到这一点?

0 投票
2 回答
1292 浏览

wix - WIX:如何根据属性选择功能

我想根据某些属性的值选择功能。

类似于这个问题: WIX:如何从命令行选择功能

似乎设置 ADDLOCAL 属性值是一种方法,但这是正确的方法吗?微软似乎在这篇文章中警告不要这样做:

http://msdn.microsoft.com/en-us/library/aa367536(VS.85).aspx

0 投票
1 回答
1936 浏览

wix - Wix 主要升级,我做错了什么?

如果没有组件发生更改,升级工作正常,但任何时候组件更改升级都会失败,并且需要用户手动卸载并重新安装。

一些片段:

此外,有时在卸载时无法删除以下注册表项有一些问题,我不明白为什么:

这就是引导程序检查是否以“REINSTALL=ALL REINSTALLMODE=vamus”启动 msiexec 的内容,因此如果已卸载但未删除注册表项,安装程序将尝试进行升级并静默失败。

让我知道是否需要更多信息


编辑:之后还有一些其他问题,只有一些文件被更新。将 RemoveExistingProducts 更改为 After="InstallValidate" 并解决了该问题。让它慢一点,因为它完全删除了以前的安装,而不是只升级更改的文件(它似乎没有为我正确检测到),但它完成了工作。

0 投票
3 回答
3588 浏览

wix - 在添加/删除程序中有多个条目的 WIX 安装程序

我正在使用 WIX 为应用程序套件开发安装程序,结构如下:
应用程序核心
    |_ _ Flavor1
    |_ _ Flavor2
    |_ _ Flavor3

Application Core 是一个类似 Visual Studio 的产品,Flavor 1,2,3 是它的子产品。

这是我的问题,
- 在添加删除程序中,应用程序核心、Flavor1、Flavor2 和 Flavor3 应该有 4 个条目。
- 我应该能够重新启动安装程序以添加/删除 Flavor1、Flavor2 和 Flavor3。

0 投票
4 回答
2545 浏览

wix - ServiceInstall 或 ServiceControl 问题

在安装期间,我正在使用 ServiceInstall 和 ServiceControl 标签安装我的服务。但是,我的服务没有运行。我收到错误消息“请检查您是否有足够的权限来启动服务”。但是,我在管理员组中。我正在使用 Wix 3.0 版。

代码片段在这里,

请帮我。

0 投票
3 回答
739 浏览

wix - 在构建和组件问题中生成 WiX XML 文件

我正在尝试为我创建的网站编写安装程序。在 WiX 教程中,它说“同样,一个组件应该只包含非常强烈地属于在一起的项目,以至于它们总是需要一起安装或删除。”。我相信整个网站都符合这个描述。我有两个关于组件的问题。首先是显然我的网站有很多目录,我不知道如何将所有目录/文件放入一个组件中(这甚至可能吗?),如果我从程序生成我的组件,我的 GUID 几乎肯定必须每个版本都不同,每个版本都会强制更改主要版本?有什么我想念的吗?