链接的 msi/Bootstrapper/先决条件?

2024-03-06

我有一些组件 MSI 包需要安装在一起才能形成最终应用程序。

问题是:组成包的组件可以更新,并且组件可以在http 文件服务器上重新启动。我应该采取什么方法?

我正在编写的安装程序是“主”安装程序。它需要能够读取其客户端计算机上安装的每个组件的版本,以便仅对该一个组​​件执行升级。

此外,如果首次安装应用程序,安装程序将下载并安装所有必需的组件。

我正在使用Installshield 2009。

我已经研究过链接的 MSI,但主安装程序是空的。因为它需要尽可能轻。

我不知道如何编写引导程序应用程序,而我的公司更喜欢我使用 installshield 来编写安装程序。

我已经研究过 - 显然先决条件并不意味着被卸载。


我相信我可以通过更改版本号来进行小更新,从而允许下载仅下载所需的组件,而不是下载整个安装程序 - 目前我正在实施您建议的方式(sascha),我的公司将使用通过 InstallShield 提供的 FLEXnet 连接服务。我提到的“组件”(我们的开发人员喜欢使用的术语)在概念上与 InstallShield 的组件概念相似。不过,我已经修改了“组件”以由功能封装,这样在构建版本时我可以选择将每个“功能”包装在 cab 文件中。

这听起来很令人困惑——即使对我来说也是如此。

我求助于功能

我的公司拒绝让我使用除 Installshield 之外的任何其他安装程序。我的猜测是,为了在遥远的将来更新先决条件要求,需要编写新的安装程序并重新发布应用程序作为主要升级。这对我来说很有意义。

Perermtate,我认为没有办法卸载先前安装的先决条件,这是有道理的,因为先决条件可能需要作为其他应用程序的平台,毕竟所有“先决条件”都是应用程序的第三方组件。

感谢您的所有回复!


我也研究过类似的问题,我对此表示同情,因为据我所知,没有简单的答案。如果我理解正确的话,您基本上需要一个 setup.exe 来检测目标系统上先决条件的当前版本,如果它们丢失则安装它们,如果它们过期则升级它们。

我过去使用过的几个选项是:

  1. 微软的通用引导程序 http://msdn.microsoft.com/en-us/library/ms165429.aspx。我以前用过这个,而且很喜欢它。缺点是,如果您的先决条件不是预定义的之一,则您必须编写自己的 boostrapper 清单。编写清单可能有点棘手且耗时,尽管有一个方法tool http://code.msdn.microsoft.com/bmg这有帮助。另外,如果 msi 无法升级(我遇到过其他情况),我还无法找到卸载已安装组件的方法。如果你弄清楚了请告诉我!

  2. 编写您自己的 boostrapper/chainer。我从。它附带源代码,因此您可以非常灵活地部署组件。然而,这里的代码是 C++,检查先决条件和发出正确的安装命令的逻辑很棘手,很难正确执行。

更新:当我写这篇文章时(2009 年 8 月),它还没有准备好,但是 Wix 项目正在开发它自己的 bootstapper/chaniner,称为Burn http://robmensching.com/blog/posts/2009/7/14/Lets-talk-about-Burn对于我们这些热爱 Wix 的人来说,这看起来非常有前途。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

链接的 msi/Bootstrapper/先决条件? 的相关文章

随机推荐