问题标签 [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.
windows - 使用 WiX 生成和安装 Typelib
在询问了 Visual Studio 为注册 COM 库做了什么之后,很明显 VS 为 COM 注册做了两件事:
- 注册 COM 库
- 创建并注册类型库
Visual Studio 似乎使用 regasm.exe 进行此注册。对于第一部分(直接 COM 注册),使用tallow
or heat
(WiX 2.0 或 WiX 3.0)似乎可以正确获取所有基本 COM 注册信息。
但是,tallow/heat 似乎没有做的是设置类型库安装。可以使用 WiX 安装程序和 regasm.exe 创建自定义操作来执行此操作,但对于基于 Microsoft 安装程序的安装程序,调用自定义操作并不是最佳实践。
经过进一步研究,看起来 msi 具有在安装时生成类型库的能力。事实上,WiX 似乎对它有直接的支持!在文件元素中,您可以添加Typelib元素。事实上,这里关于 wix 的一篇文章有一个使用Interface元素填充 TypeLib 元素的示例。
Interface 元素似乎至少有两个必需的属性:
- ID
- 姓名
Larry Osterman 谈到了需要为 TypeLib 注册的接口的其他部分,这个接口条目似乎照顾了各个部分。Larry 说我们需要将 ProxyStubClassId32 指定为“{00020424-0000-0000-C000-000000000046}”,因此我们可以轻松添加它。
从那里去哪里以及为各种界面元素填写什么让我很难过。我已经继续并将 TypeLib 元素添加到我的 wix 文件中,并且它成功编译。不过,我对如何设置界面元素有点无能为力。我们需要做什么才能正确填写 TypeLib 元素,我可以使用哪些应用程序或工具来获取它?
wcoenen 下面的答案看起来很有希望......我要试一试。
更新:在下面发布我的最终解决方案作为答案。
wix - WiX 包含 vs 片段
.wxi
WiX 包含(文件)和 WiX 片段(文件)有什么区别.wxs
?- 每个的用例是什么?
- 应该使用哪个,为什么?
wix - 从 InstallShield 切换到 WiX
我正在寻找 InstallShield 的替代品。不幸的是,我们只有 1 个 InstallShield 许可证,并且它安装在开发人员的机器上。我正在考虑切换到 WiX,但在阅读文档后,有一个产品 ID GUID、升级代码 GUID 和一个包 GUID。
我也知道 GUID 是由 InstallShield 创建的。如果我切换到 WiX,我可以开始使用新的 GUID 还是使用 InstallShield 创建的一些 GUID?如果发布了对产品的升级,更换安装程序是否会影响使用旧安装程序的客户?
user-interface - 如何将 UI 添加到 WiX 3 安装程序?
我试过<UIRef Id="WixUI_Minimal" />
了,但我得到“未解决的对符号 WixUI:WixUIMinimal 的引用”。我究竟做错了什么?
wix - 如何在没有许可证页面的情况下构建最小的 WiX 安装程序 UI?
我想使用 WixUI_Minimal 安装程序,但我不想要许可证页面。我怎样才能做到这一点?
wix - WIX:如何根据属性选择功能
我想根据某些属性的值选择功能。
类似于这个问题: WIX:如何从命令行选择功能
似乎设置 ADDLOCAL 属性值是一种方法,但这是正确的方法吗?微软似乎在这篇文章中警告不要这样做:
http://msdn.microsoft.com/en-us/library/aa367536(VS.85).aspx
wix - Wix 主要升级,我做错了什么?
如果没有组件发生更改,升级工作正常,但任何时候组件更改升级都会失败,并且需要用户手动卸载并重新安装。
一些片段:
此外,有时在卸载时无法删除以下注册表项有一些问题,我不明白为什么:
这就是引导程序检查是否以“REINSTALL=ALL REINSTALLMODE=vamus”启动 msiexec 的内容,因此如果已卸载但未删除注册表项,安装程序将尝试进行升级并静默失败。
让我知道是否需要更多信息
编辑:之后还有一些其他问题,只有一些文件被更新。将 RemoveExistingProducts 更改为 After="InstallValidate" 并解决了该问题。让它慢一点,因为它完全删除了以前的安装,而不是只升级更改的文件(它似乎没有为我正确检测到),但它完成了工作。
wix - 在添加/删除程序中有多个条目的 WIX 安装程序
我正在使用 WIX 为应用程序套件开发安装程序,结构如下:
应用程序核心
|_ _ Flavor1
|_ _ Flavor2
|_ _ Flavor3
Application Core 是一个类似 Visual Studio 的产品,Flavor 1,2,3 是它的子产品。
这是我的问题,
- 在添加删除程序中,应用程序核心、Flavor1、Flavor2 和 Flavor3 应该有 4 个条目。
- 我应该能够重新启动安装程序以添加/删除 Flavor1、Flavor2 和 Flavor3。
wix - ServiceInstall 或 ServiceControl 问题
在安装期间,我正在使用 ServiceInstall 和 ServiceControl 标签安装我的服务。但是,我的服务没有运行。我收到错误消息“请检查您是否有足够的权限来启动服务”。但是,我在管理员组中。我正在使用 Wix 3.0 版。
代码片段在这里,
请帮我。
wix - 在构建和组件问题中生成 WiX XML 文件
我正在尝试为我创建的网站编写安装程序。在 WiX 教程中,它说“同样,一个组件应该只包含非常强烈地属于在一起的项目,以至于它们总是需要一起安装或删除。”。我相信整个网站都符合这个描述。我有两个关于组件的问题。首先是显然我的网站有很多目录,我不知道如何将所有目录/文件放入一个组件中(这甚至可能吗?),如果我从程序生成我的组件,我的 GUID 几乎肯定必须每个版本都不同,每个版本都会强制更改主要版本?有什么我想念的吗?