为任何程序创建自动安装程序

时间:2013-07-09 15:36:03

标签: automation installer sfx

如何为具有常规安装程序的程序创建自动安装程序,问题包括:

  • 安装目录,
  • 接受许可,
  • 在桌面上创建图标
  • 等...

假设我可以单独为每个程序构建自动安装程序,或者我想将文件放入自解压存档并在解压缩后运行安装程序。

我需要第三方程序吗?我应该使用命令提示符吗?我需要学习Lua吗? (我正在学习C#)

编辑:

澄清我将使用一个例子:

  • 假设我写了一个程序,但该程序有一个要求,比如 DirectX,或Adobe Air,或Maxthon Browser。
  • 我以这样的方式编写了我的程序,我必须确保它是 安装在PC上的一个非常特定的驱动器/文件夹或一些 具体的偏好/参数。
  • 我包含此程序的安装程序,但我想指定位置 它安装在PC上并带有什么参数。
  • 最好在之后或期间安装此要求 安装/提取我自己的程序。

我正在寻找一种能够运行任何给定程序的安装程序并浏览其安装向导的方法,而用户必须/可以更改我需要的设置(具有预知和许可)当然是用户)。

它不需要是静默安装或任何东西。

1 个答案:

答案 0 :(得分:5)

我改写了我的回答。

对于安装程序(设置)类,我提到的设置要求对我来说似乎很常见,而且并非一点也不寻常。

通常,您有两种选择:

您可以自己编写所有内容,创建安装对话框,保存设置的方式等等。那么你可以使用C#(或任何其他语言)。

这种情况非常罕见,因为它耗费时间,并且您正在重新发明以标准方式多次解决的问题。此外,如果使用工具,您将陷入常见的设置错误陷阱,这些陷阱可能已被捕获(或至少记录在案)。

如果您想使用工具,如果您想要一个基于MSI(Windows Installer)的工具,那么这是您的第一个决定。 MSI是Windows中功能最强大,最受工业界欢迎的安装技术,但它是一个非常复杂的问题,没有任何工具可以保护您100%。 Google for WiX(开源)或InstallShield作为MSI工具的起点,但当然还有更多。 例如,某些工具已在Visual Studio中集成或集成。

Selfextracting工具是一个起点,但是以下工具提供了更多,并且是极端点SFX和MSI之间的良好中间路径:

InnoSetup

(在SO上也有一个家)。

SourceForge上的

Nullsoft Scriptable Install System (NSIS)

Windows中的一个自解压程序我想提及,因为它并不广为人知,“IEXPRESS.exe”已经包含在操作系统中。

关于导航安装向导的特殊问题: 每个提到的工具都有保存安装设置的方法,当然是决定哪些设置可以由1 * 1设置创建的用户部分更改。使用这些工具,您可以按照自己想要的部件设计安装对话框。

我希望我明白你的意思。

P.S。虽然大多数工具都包含一种脚本语言或类似的东西,但您通常可以使用您自己的几乎所有编程语言编写的操作来扩展安装过程。