首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WiX Bootstrapper项目结构

WiX Bootstrapper项目结构
EN

Stack Overflow用户
提问于 2014-01-24 08:51:19
回答 2查看 840关注 0票数 1

我们有一个类似于Microsoft的产品。有许多共享库的几个不同的应用程序。我们正在尝试重构此产品的部署过程,因为目前我们正在使用几个单独的MSI软件包独立安装每个应用程序。在此过程中,我们希望使用WiX引导程序捆绑这些MSI文件,并只创建一个安装应用程序。目前,所有共享库都包含在每个MSI包中,这需要很大的空间。

要做到这一点,我们基本上有两个方案:

  • 创建一个WiX安装(MSI)项目;将所有产品作为单独的功能包括在内。在这种情况下,处理共享库是非常直接的。但在我看来,这个项目的结构太大了。
  • 创建多个MSI包。每个只有一个产品,并将它们捆绑到引导程序。在我看来,这种方法在文件和组件方面更灵活和更清晰。然而,共享库在这里是如何工作的呢?它们不应包含在每个MSI文件中。

在WiX引导程序项目中首选哪种方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-24 11:00:08

一个多功能的大型MSI太难支持了。

在MSI之间很容易共享组件。共享组件必须具有相同的GUID和组件密钥路径。见详细信息

为了轻松实现这一目标,为所有共享组件(每个组件或组件组在其自己的片段中)创建一个WiX库项目。然后将库包含到所有WiX包项目中,并在WiX包项目中引用其组件(或组件组)。

票数 0
EN

Stack Overflow用户

发布于 2014-01-26 16:29:27

您可以将共享组件分组到多个MSI中,然后为应用程序创建一个或多个引导程序。

有几件重要的事情要知道:

  1. MsiPackages可以配置为当引导程序安装MSI时,它在“程序和特性”列表中显示或不显示MsiPackage。
  2. MSI可能或可能有自己的UI。在任何情况下,您都可以在MsiPackage元素中抑制它。如果您真的非常需要在安装过程中询问用户一些问题,您可以在应用程序中询问,并可能将其作为MsiProperty传递给MSI。

因此,我建议为每个应用程序和每组共享组件提供一个MSI。以及一个或多个引导程序,用于一个或多个应用程序MSI和它们所需的共享MSI。如果您创建了一个自定义引导程序应用程序 UI (C++或.NET),就像Visual和WiX本身一样,用户可以使用一个引导程序来选择性地安装/卸载您的各种应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21328219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档