Windows installer 链接的msi/引导程序/先决条件?

Windows installer 链接的msi/引导程序/先决条件?,windows-installer,installshield,bootstrapper,prerequisites,chained,Windows Installer,Installshield,Bootstrapper,Prerequisites,Chained,我有几个组件MSI包,需要一起安装以形成最终应用程序 问题是:组成包的组件可以更新,组件可以在http文件服务器上重新启动。我应该采取什么方法 我正在编写的安装程序是“主”安装程序。它需要能够读取客户机上安装的每个组件的版本,以便仅在该组件上执行升级 此外,如果应用程序是第一次安装,安装程序将下载并安装所有必需的组件 我正在使用Installshield 2009 我已经查看了链接的MSI,但是主安装程序是空的。因为它需要尽可能轻 我不知道如何编写引导程序应用程序,我的公司希望我使用instal

我有几个组件MSI包,需要一起安装以形成最终应用程序

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

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

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

我正在使用Installshield 2009

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

我不知道如何编写引导程序应用程序,我的公司希望我使用installshield来编写安装程序

我已经研究过了——显然先决条件不是要卸载的

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

这听起来很让人困惑——甚至对我来说也是如此

我求助于功能组件,包括服务

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

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


谢谢你的回复

按组件您指的是Installshield/MSI组件/功能吗?或者你是在用自己的术语吗?据我所知,如果不发布全新的软件包版本,就无法更新组件


我的建议是部署一个带有未压缩文件的web downloader安装程序,或者每个组件一个CAB,那么您的有效负载将是300kb,并且只有用户选择的功能将从网络上下载。

我看过类似的问题,我很同情,因为我知道没有简单的答案。如果我理解正确,您基本上需要一个setup.exe,它将检测目标系统上必备组件的当前版本,如果缺少,则安装它们,如果它们过时,则升级它们

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

微软的。我以前用过这个,而且很喜欢。缺点是,如果您需要编写自己的boostrapper清单,那么前提条件不是预定义的清单之一。编写清单可能有点棘手,而且很耗时,不过有一个方法可以帮助您。此外,如果msi无法升级我遇到的其他东西,我也无法找到卸载已安装组件的方法。如果你发现了,就告诉我

编写自己的增强器/链接器。我从第一个开始。它附带源代码,因此您可以灵活地部署组件。然而,这里的代码是C++,检查预请求和发布正确的安装命令的逻辑是棘手的,很难正确。
更新:我在2009年8月写了一篇文章,它还没有准备好,但是Wix项目正在开发它自己的bootstapper/chaniner,对我们这些热爱Wix的人来说,它看起来非常有希望。

因为你的主安装程序是空的,并且没有真正安装它自己的任何东西,您可以使用InstallScript项目,而不是基于MSI的项目,使用安装脚本作为引导程序。如果您使用InstallScript,您甚至不需要担心设置运行代码的环境,因为InstallShield会自动配置它;如果使用.NET作为引导程序,则需要使用.NET或将其作为安装的一部分进行安装

由于InstallScript项目不使用MSI,因此您不必担心在安装的安装执行序列中运行其他MSI。您可以使用InstallScript LaunchAppAndWait函数调用需要安装的组件的安装
o安装/更新。

将完成此工作。

有什么工具可以帮助您!该工具是引导清单生成器:。我已经更正了原始帖子中的链接。这与我的问题类似: