【问题标题】:how to create installer inside another installer?如何在另一个安装程序中创建安装程序?
【发布时间】:2009-05-11 08:07:11
【问题描述】:

我想创建一个 Windows 安装程序,第一步我希望它调用另一个安装程序(将安装我的应用程序的依赖组件),第二步我想安装我自己的应用程序。我想在一个安装过程中完成所有任务,并且我手头有依赖组件安装包(一个exe文件)。

有什么好的工具或示例可以参考吗?我更喜欢使用 VSTS 或 Microsoft 或开源易于使用的工具。 :-)

提前致谢, 乔治

【问题讨论】:

    标签: windows installation


    【解决方案1】:

    您可能想看看Microsoft Bootstrapper,假设依赖组件是.NET 或类似的库,那么它相当简单。

    如果您想创建Windows Installer (MSI) 包,请查看Windows Installer XML (WiX)。但是您首先要get your head around how MSI works。了解 Windows Installer 后,WiX 真的很简单,但同时学习这两种方法可能会让人感到困惑。

    对于基本的,复制一些文件,提取/运行一些东西,输入安装程序,然后NSIS 是相当简单的脚本,您可以在一天左右的时间内完成。

    【讨论】:

      【解决方案2】:

      Nsis 与this modification

      【讨论】:

        【解决方案3】:

        更新:嵌套 MSI 安装似乎有些可能。但是,它需要使用 Windows Installer SDK 中的工具进行一些调整,并且有许多缺点。

        以下文章有详细介绍:

        How to create a nested .msi package

        Microsoft 建议不要使用此功能(请参阅此related answer 和此list 中的第 20 点)。

        但是,您可能还想查看不同的安装系统,例如 NSIS,或者创建一个引导程序,在安装之前安装依赖项。

        【讨论】:

          【解决方案4】:

          您可以查看Inno Setup。它创建 exe 安装程序,而不是 MSI。它具有基于 Pascal 的脚本语言,因此非常灵活。

          它是免费的,而且很容易使用。

          如果您现有的安装程序不使用 MSI 技术,您可以使用 WiX 创建 MSI 并通过自定义操作启动现有安装程序。我过去也这样做过。

          WiX 是开源的。

          【讨论】:

            【解决方案5】:

            是的,如果你使用 Inno Setup 来做这件事会很容易,但会有一点不同..

            您必须先执行第 2 步,然后执行第 1 步。

            尝试使用 AutoHotkey(scripting) 检查后台是否存在任何验证特定软件安装的进程。

            【讨论】:

              【解决方案6】:

              查看 Windows 系统上的 iexpress。只需几分钟,您就可以创建一个安装程序,该安装程序可以调用任意数量的安装程序。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2010-11-06
                • 2010-09-17
                • 2015-10-22
                相关资源
                最近更新 更多