我的印象是Inno Setup完全绕过了Windows Installer。任何人都可以证实或反驳这一观点吗?
答案 0 :(得分:5)
确认。 Inno Setup是一种自定义过程脚本语言,根本不利用Windows Installer的优点。
在常见问题解答中:
Will it support Windows Installer in the future?
目前,我还没有Windows Installer的计划 Inno Setup版。可能会“支持”Windows Installer 涉及近乎完全重写的程序 - 我不这样做 有时间或有兴趣做。
答案 1 :(得分:1)
Inno Setup以及NSIS是与Windows Installer完全无关的自定义安装程序编译器。
他们使用标准的Windows注册表项,例如HKEY_LOCAL_MACHINE\Software\Microsoft\Windows \CurrentVersion\Uninstall\
,以便在“添加/删除程序”对话框中显示已安装的程序(最近重命名为“程序和功能”)。
Inno Setup / NSIS和基于Windows安装程序的编译器(如Wix工具集)之间的主要区别在于,前者完全是自治的,而后者则依赖于在运行安装程序的计算机上安装Windows Installer运行时。
这对于非常旧的系统主要有所不同,因为自Windows XP以来Windows Installer已经集成到Windows中。
InnoSetup包含基于pascal解释器(RemObjects Pascal Script)的完整运行时这一事实意味着生成的安装程序的大小有一些开销,大约200 KB的顺序,所以从理论上讲,MSI安装程序可以可能更小。 有趣的是,NSIS有一个非常优化的自定义运行时,使安装程序比Inno更小。