Windows 如何分发包含引导程序的安装程序

Windows 如何分发包含引导程序的安装程序,windows,installation,Windows,Installation,由于Microsoft Windows Installer(MSI)系统的严重限制,需要创建引导程序才能安装多个MSI文件(由于先决条件/后决条件)。但是,这会带来分发问题,因为您现在有多个文件需要包含在分发中。当然,有多种方法可以将其作为单个文件分发 1:档案馆 您可以将所有文件放入用户下载的单个存档中。MS Windows的明显选择当然是PK-ZIP存档。但这对用户来说不是很友好。用户首先必须提取归档文件,然后运行引导程序(称为setup.exe) 2:SFX档案 您可以将其包装成自解压归档

由于Microsoft Windows Installer(MSI)系统的严重限制,需要创建引导程序才能安装多个MSI文件(由于先决条件/后决条件)。但是,这会带来分发问题,因为您现在有多个文件需要包含在分发中。当然,有多种方法可以将其作为单个文件分发

1:档案馆 您可以将所有文件放入用户下载的单个存档中。MS Windows的明显选择当然是PK-ZIP存档。但这对用户来说不是很友好。用户首先必须提取归档文件,然后运行引导程序(称为setup.exe)

2:SFX档案 您可以将其包装成自解压归档文件,而不是分发普通归档文件。执行此SFX存档将提示用户提取和/或运行内容。但这在整个安装过程中又添加了一个提示(#1:SFX提示、#2:bootstrapper提示、#3:main installer提示)。这对用户也不是很友好,因为多个提示会增加麻烦

3:单文件引导程序 当然,可以选择将所有提取文件嵌入到引导程序中。对于普通的终端用户来说,这可能是最方便的。但是,这对系统管理员不太友好,因为通常引导程序比MSI文件更难管理。管理员将装配系统,以便在安装主MSI时也安装所有必备组件,因此不需要引导程序

4:其他? 其他未列出的方法


那么,您认为为需要引导程序的MS Windows软件分发安装程序的最佳方式是什么呢?

关于:
1:存档:2:SFX存档

您可以使用自动启动Setup.exe的自解压.ZIP。WinZip以低廉的价格提供了这种支持。这样,它将更加方便客户。它可以配置为在不提示的情况下启动引导程序

关于:
3:单文件引导程序

尽管听起来有点像InstallShield的销售员,InstallShield 2009会处理好你问的所有问题——它克服了MSI需要引导程序的缺点。您可以使用发布向导创建单个-.EXE一体式引导程序。或者,您可以创建一个非常小的web部署设置,然后从网站下载负载。或者,您可以将不同的功能放在单独的.CAB文件中,用户只需要部署与他想要安装的功能相对应的那些CAB文件。InstallShield附带了几十个可添加到安装中的必备组件


根据您的具体情况,MSI v4.5和5.0可能会对您有所帮助——它们本机支持多包事务链接。当然,根据您支持的操作系统,您可能仍然需要一个引导程序来确保MSI支持的级别正确。

我们为零售发行版和所有单用户安装提供了一个单文件引导程序

批量许可客户(例如10个以上席位)将收到一个(或多个)MSI文件以及在应用程序运行之前必须安装的说明和预请求列表(XP、Vista和Win2k之间稍有不同)。EXE阻止安装如果未安装先决条件,MSI将允许安装,前提是系统管理员知道他们在做什么,并且可能在下次重新启动之前同时安装prereq

基本上,单引导程序是为非系统管理员提供的,他们需要一个单击解决方案。喜欢对安装进行更细粒度控制的系统管理员和公司IT支持人员喜欢多个文件,即使这意味着他们要做更多的工作。单个EXE文件是公开的,说明+多个文件只有联系我们的销售团队才能使用


这种方法使我们能够两全其美,并且能够为家庭和公司客户提供不同的默认配置-提示、提示、启动屏幕、自动更新和欢迎对话框在公司安装时默认都是禁用的,但在“单一”安装时是启用的用户。

我遇到了一个类似的问题,我需要分发一些可选的支持软件、MSI安装程序和另一个文件,以防MSI文件需要它。我基本上创建了一个本机应用程序来处理整个过程。我写了一篇关于它的博客()

我们使用Wix来创建MSI文件,它非常灵活,可以通过构建脚本轻松实现自动化

我强烈建议通过单个引导程序将多个MSI/EXE文件链接在一起进行分发。我与这个产品没有任何关系,但它在非托管代码中生成高度可配置的引导程序的项目中起到了救命的作用


我写了我最近使用这些技术开发多语言MSI和引导程序的经验。这是一个从头到尾的过程。使用DotNetInstaller,您可以根据需要从URL下载和安装依赖项,或者轻松地将它们直接嵌入到引导程序中。我还考虑了Wix自己的StutuBLD引导程序生成器和通用BooTrasper-MSBuw任务,但它们是非常基本的。也就是说WIX3.5Burn实用程序目前正在开发中,一旦发布,它可能是一个相当不错的替代品

使用7zip SFX调用主安装程序。7zip SFX可以静默调用。所以你需要做的就是确保你的安装程序也接受/q命令。我对InstallShield不是很喜欢,但是IS2009应该能够处理你的所有需求。我正在改编一个最初用IS6编写的安装程序,IS2009极大地简化了事情。