2009-10-16 57 views
5

我们的产品有多种客户可以安装创建为独立安装包(MSI)的产品。HOWTO和最佳工作安装(MSI)chainer +/bootstrapper

我们有一个要求,具有单包的安装将:

  1. 显示一个UI与进步
  2. 允许用户选择哪些功能/包安装
  3. 有无约束一个能力功能到另一个(例如去除或添加效果其他)
  4. 支持单个海拔(UAC)
  5. 很高兴能够自动更新(不是必须的)
  6. 支持命令行+静默安装
  7. 包应建了隔离设施(连锁它们)
  8. 引发错误/消息缺少必备
  9. 随着时间的推移支持补丁和重大升级

今天我们使用MSI进行几乎所有的上述操作,嵌套安装是不好的做法,我们在解决方案中面临着太多问题。

我知道有几个bootstrappers那里(M $通用引导程序,我认为是不好的,BURN是不够成熟的WIX版本)

你知道其他?那工作和测试已经? 什么是最好的方法(没有将MSI统一到单个MSI中)

+0

虽然我明白,维克斯的刻录是年轻,甚至没有在产能释放的是,恕我直言,因为一旦公布,可能是值得一试(带WIX 3.5)它很可能很快成为新的“标准”。 – ewall 2009-10-19 20:02:50

+0

我同意这一点,个人认为,烧伤将提供我所需要的一切,如果不是我可以加强它:), 还有另一种选择使用NSIS创建自定义引导程序,这也是简单的... 令人惊叹的部分是我正在问一个问题,即每个公司都应该问,但没有快速和良好的答案 - >这里有业务 – 2009-10-19 20:09:09

回答

1

在Wix's Burn准备就绪之前,我们对引导程序没有多少选择。

如果您使用InstallShield作为您的msi设计器,您可以尝试的一件事是创建一个包含所有不同msi包的InstallScript项目。然后你可以静静地安装所需的软件包。 InstallShield虽然非常昂贵,但如果你还没有它,你可能不得不最终开始自己的引导程序。

2

创建一个InstallShield InstallScript包。使用InstallScript包将“.qs”中的.MSI逐个引出。我这样做,并取得了成功。我相信它符合你列出的所有要求。

6

dotNetInstaller看起来很有前途。我正在试验它以安装java作为先决条件。它带有一个GUI编辑器,所以你不必整理xml来创建一个项目。配置文件在xml中,并且可以从命令行运行InstallerLinker。它可以与构建服务器集成,尽管一些msbuild任务会很好。

项目主页:
http://dotnetinstaller.codeplex.com/

教程:
http://www.codeproject.com/KB/install/dotNetInstaller.aspx

+0

我有兴趣修改其用户界面,尤其是闪烁的进度条。你有任何提示吗? – 2014-02-04 11:25:55

+0

你可以试试dotnetinstaller的htmlInstaller。听起来像普通的dotnetinstaller,但有一个可以自定义的html基础UI。我还没有使用htmlInstaller,但它看起来很有希望。 – mcdon 2014-02-04 16:39:35

+0

是的,我确实尝试过,但似乎没有提供太多的修改.... – 2014-02-05 17:49:44