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

时间:2009-08-03 09:18:38

标签: windows installer

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

1:存档

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

2:SFX存档

您可以将其包装到自解压存档中,而不是分发普通存档文件。执行此SFX存档将提示用户提取和/或运行内容。但这又为整个安装过程添加了另一个提示(#1:SFX提示符,#2:bootstrapper提示符,#3:主安装程序提示符)。这也不是非常用户友好,因为它会因多次提示而增加烦恼。

3:单文件引导程序

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

4:其他?

另一种不公开的方法?

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

4 个答案:

答案 0 :(得分:2)

我们为零售分销和所有单用户安装提供单文件引导程序

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

基本上,单个引导程序适用于非系统管理员,即需要单击解决方案的人。系统管理员和企业IT支持人员喜欢对其安装进行更细粒度的控制,他们对多个文件感到满意,即使这意味着他们需要更多的工作。单个EXE文件可公开获取,说明+多个文件仅可通过联系我们的销售团队获得。

此方法为我们提供了两全其美的优势,以及为家庭和企业客户提供不同默认配置的能力 - 默认情况下,企业安装都禁用提示,提示,启动屏幕,自动更新和欢迎对话框但是为“单个”用户启用了。

答案 1 :(得分:1)

我们使用Wix创建MSI文件,这些文件非常灵活,可以使用构建脚本轻松实现自动化。

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

我写了我最近使用这些技术开发多语言MSI和引导程序的经验here。这从头到尾讲述了整个过程。使用DotNetInstaller,您可以根据需要从URL下载和安装依赖项,或者轻松地将它们直接嵌入到引导程序中。我还考虑了WIX自己的SETUPBLD引导程序生成器和GenerateBootStrapper MSBuild任务,但它们非常基本。那说WIX 3.5 Burn实用程序目前正在筹备中,一旦它发布,它可能是一个相当不错的选择。

答案 2 :(得分:0)

关于:1: An archive: 2: A SFX archive

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

关于:3: Single file bootstrapper

冒着听起来像InstallShield推销员的风险,InstallShield 2009将负责您所询问的一切 - 它弥补了MSI需要引导程序的缺点。您可以使用发布向导创建单个.EXE一体化引导程序。或者,您可以创建非常小的Web部署设置,然后从网站下载有效负载。或者您可以将不同的功能放在单独的.CAB文件中,并且用户只需要部署与他想要安装的功能相对应的那些CAB文件。 InstallShield捆绑了许多准备好添加到安装程序的先决条件。

根据您的需求,MSI v4.5和5.0可能对您有所帮助 - 他们对多包事务链有本机支持。当然,根据您支持的操作系统,您可能仍需要一个引导程序来确保存在正确的MSI支持级别。

答案 3 :(得分:0)

我遇到了类似的问题,我需要分发一些可选的支持软件,MSI安装程序和另一个文件,只需要输入所需的MSI文件。我基本上创建了一个本机应用程序来处理整个过程。我写了一篇关于它的博客herehttp://blog.foldertrack.com/?p=45