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

6
如何创建一个自动安装程序,该程序有常规安装程序中的问题,例如:
  • 安装目录
  • 接受许可证
  • 在桌面上创建图标等
假设我愿意为每个要单独安装的程序构建自动安装程序,或者我想将文件放入自解压缩存档中,在解压后运行安装程序。我需要第三方程序吗?应该使用命令提示符吗?我需要学习Lua吗?(我正在学习C#)
编辑:
为了澄清,我将使用一个例子:
  • 假设我编写了一个程序,但是该程序有一个要求,例如DirectX、Adobe Air或Maxthon Browser。
  • 我以这样的方式编写我的程序,使我必须确保它在PC上的特定驱动器/文件夹中安装,或者具有某些特定的首选项/参数。
  • 我包括了此程序的安装程序,但我想指定它在PC上安装的位置和使用的参数。
  • 最好在安装/提取我的程序期间或之后立即安装此要求。
我正在寻找一种方法,可以运行任何给定程序的安装程序,并浏览其中的安装向导,而无需用户更改我需要的设置(当然,需要用户的预知和许可)。它不需要无声安装或任何其他功能。
1个回答

8
我已经重写了我的回答。
对于安装程序(设置)类而言,您提到的设定要求似乎对我来说非常普遍,一点也不奇怪。
通常有两个选择:
1. 您可以自己编写所有内容,创建安装对话框、保存设置等等。这时您只需要使用 C#(或任何其他语言)就可以了。
但是这种方法很少被采用,因为它耗费时间,而且您正在重新发明已经被标准化解决的东西。此外,如果使用工具,则可能已经捕获(或至少记录)了常见的设置错误陷阱。
2. 如果您想使用工具,那么您的第一个决定是是否要使用基于 MSI(Windows Installer)的工具。MSI 是 Windows 中最强大和最广泛接受的设置技术,但这是一个相当复杂的问题,没有任何工具能够完全保护您免受其影响。WiX(开源)或 InstallShield 可作为 MSI 工具的起点,当然还有更多的选择。例如,某些工具已经集成或可集成于 Visual Studio 中。
自解压缩工具是一个起点,但以下工具提供了更多功能,并且是介于 SFX 和 MSI 之间的良好中间方式:

InnoSetup(在SO上也有一个主页)。

Nullsoft Scriptable Install System (NSIS) 在SourceForge上。

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

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

我希望我理解了您的意思。

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


谢谢!实际上我为我的程序编写了自己的安装程序,但我编辑了问题以澄清我的意思。对于自解压缩档案,我发现WinRar非常完美,它真的有很多设置,并且允许我包括恢复记录。 - WolfyD
谢谢!这些信息非常有用,我一定会查看你提到的所有内容。 - WolfyD

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接