【发布时间】:2009-05-11 08:07:11
【问题描述】:
我想创建一个 Windows 安装程序,第一步我希望它调用另一个安装程序(将安装我的应用程序的依赖组件),第二步我想安装我自己的应用程序。我想在一个安装过程中完成所有任务,并且我手头有依赖组件安装包(一个exe文件)。
有什么好的工具或示例可以参考吗?我更喜欢使用 VSTS 或 Microsoft 或开源易于使用的工具。 :-)
提前致谢, 乔治
【问题讨论】:
标签: windows installation
我想创建一个 Windows 安装程序,第一步我希望它调用另一个安装程序(将安装我的应用程序的依赖组件),第二步我想安装我自己的应用程序。我想在一个安装过程中完成所有任务,并且我手头有依赖组件安装包(一个exe文件)。
有什么好的工具或示例可以参考吗?我更喜欢使用 VSTS 或 Microsoft 或开源易于使用的工具。 :-)
提前致谢, 乔治
【问题讨论】:
标签: windows installation
您可能想看看Microsoft Bootstrapper,假设依赖组件是.NET 或类似的库,那么它相当简单。
如果您想创建Windows Installer (MSI) 包,请查看Windows Installer XML (WiX)。但是您首先要get your head around how MSI works。了解 Windows Installer 后,WiX 真的很简单,但同时学习这两种方法可能会让人感到困惑。
对于基本的,复制一些文件,提取/运行一些东西,输入安装程序,然后NSIS 是相当简单的脚本,您可以在一天左右的时间内完成。
【讨论】:
Nsis 与this modification。
【讨论】:
更新:嵌套 MSI 安装似乎有些可能。但是,它需要使用 Windows Installer SDK 中的工具进行一些调整,并且有许多缺点。
以下文章有详细介绍:
Microsoft 建议不要使用此功能(请参阅此related answer 和此list 中的第 20 点)。
但是,您可能还想查看不同的安装系统,例如 NSIS,或者创建一个引导程序,在安装之前安装依赖项。
【讨论】:
您可以查看Inno Setup。它创建 exe 安装程序,而不是 MSI。它具有基于 Pascal 的脚本语言,因此非常灵活。
它是免费的,而且很容易使用。
如果您现有的安装程序不使用 MSI 技术,您可以使用 WiX 创建 MSI 并通过自定义操作启动现有安装程序。我过去也这样做过。
WiX 是开源的。
【讨论】:
是的,如果你使用 Inno Setup 来做这件事会很容易,但会有一点不同..
您必须先执行第 2 步,然后执行第 1 步。
尝试使用 AutoHotkey(scripting) 检查后台是否存在任何验证特定软件安装的进程。
【讨论】:
查看 Windows 系统上的 iexpress。只需几分钟,您就可以创建一个安装程序,该安装程序可以调用任意数量的安装程序。
【讨论】: