Installation 如何和最佳工作安装(MSI)链表+;/启动加载器

Installation 如何和最佳工作安装(MSI)链表+;/启动加载器,installation,windows-installer,Installation,Windows Installer,我们的产品有多个产品,客户可以将其作为单独的安装包(MSI)进行安装 我们要求安装单包,以满足以下要求: 显示一个进度UI 允许用户选择要安装的功能/软件包 能够将一个特征约束到另一个特征(例如移除或添加其他效应) 支架单立面(UAC) 很高兴能够自动更新(不是必须的) 支持命令行+静默安装 包装应采用隔离装置(将其连接起来)制成 针对缺少的先决条件引发错误/消息 随时间推移支持修补程序和主要升级 今天,我们几乎使用MSI和嵌套安装来完成上述所有操作,这是一种糟糕的做法,我们的解决方案中面临着太

我们的产品有多个产品,客户可以将其作为单独的安装包(MSI)进行安装

我们要求安装单包,以满足以下要求:

  • 显示一个进度UI
  • 允许用户选择要安装的功能/软件包
  • 能够将一个特征约束到另一个特征(例如移除或添加其他效应)
  • 支架单立面(UAC)
  • 很高兴能够自动更新(不是必须的)
  • 支持命令行+静默安装
  • 包装应采用隔离装置(将其连接起来)制成
  • 针对缺少的先决条件引发错误/消息
  • 随时间推移支持修补程序和主要升级
  • 今天,我们几乎使用MSI和嵌套安装来完成上述所有操作,这是一种糟糕的做法,我们的解决方案中面临着太多的问题

    我知道有几个引导程序(m$generic bootstrapper,我认为不好,BURN是WIX版本,还不够成熟)

    你知道其他的吗?那工作和测试已经完成了吗?
    最好的方法是什么(不将MSI统一为单个MSI)

    直到Wix的Burn准备就绪,我们在引导程序方面真的没有太多选择


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

    创建InstallShield InstallScript包。使用InstallScript包逐个启动带有“-qn”的.MSIs。我做到了这一点,并且取得了成功。我相信它符合您列出的所有要求。

    dotNetInstaller看起来很有前途。我正在尝试将java作为先决条件安装。它带有一个GUI编辑器,因此您不必整理xml来创建项目。配置文件是xml格式的,InstallerLink可以从命令行运行。它可以与构建服务器集成,尽管有些msbuild任务会更好

    项目主页:

    教程:

    虽然我知道WIX的BURN还很年轻,甚至还没有正式发布,但这可能值得一试,因为一旦发布(WIX 3.5),它很可能会很快成为新的“标准”。我同意这一点,我个人认为BURN将提供我所需的一切,如果没有,我可以增强它:),还有另一个使用NSIS创建自定义引导程序的选项,它也很简单。。。令人惊讶的是,我问了一个每个公司都应该问的问题,但却没有快速而好的答案-->我有兴趣修改它的UI,特别是闪烁的进度条。你有什么建议吗?你可以试试dotnetinstaller的htmlInstaller。听起来像是普通的dotnetinstaller,但有一个html基本用户界面,您可以自定义。我还没有用过htmlInstaller,但它看起来很有前途。是的,我试过了,但它似乎没有提供太多的修改。。。。