如何为Windows创建强大的最小安装程序?

Mat*_*Mat 41 windows installer

我想创建一个具有一些特定属性的安装程序EXE:

  1. 它应该是一个单独的exe文件
  2. 它应该是健壮的(即应该知道该技术可以在任何Windows系统上运行良好)
  3. 它应该只在%systemroot%中创建一个文件(.scn屏幕保护程序文件)
  4. 它应该添加选项以在"控制面板 - >添加或删除程序"中卸载该特定文件,但不创建任何新条目C:\Program Files或在某处复制uninstaller.exe.

我见过那样的安装程序 - 那么怎么做呢?

Otá*_*cio 27

看看 NSIS它非常简单,它用于创建Windows的安装程序.

  • +1,因为允许从 *nix 创建安装程序(从 Linux 交叉编译,2.51 已经存在于 Debian/不稳定的软件包中) (2认同)

Rob*_*Rob 23

正如你所说它可能是一个MSI,我建议走这条路.

您可以在Visual Studio中使用安装程序项目(如果您拥有它;我不确定Express版本是否支持创建安装程序),因为他们非常乐意生成一个能够满足您要求的MSI.值得注意的是,他们会生成EXE和MSI,但您只需要分发MSI.

如果做不到这一点,请查看Windows Installer XML(WiX),因为它可以让您手工雕刻完全按照您的要求进行操作的MSI,并且可以满足上述所有五个要点.

注意:使用MSI意味着您需要在要安装的计算机上安装Windows Installer - 它是从Windows 2000/ME向上的收件箱.

  • 不,Express版本不支持制作安装程序. (4认同)
  • Microsoft Windows Installer 团队已推荐 WiX - 非常推荐。http://blogs.msdn.com/windows_installer_team/archive/2006/05/12/595950.aspx (2认同)
  • 在尝试WiX(或其他任何东西)之前,应该推荐InnoSetup.它简单得多,几乎没有学习曲线,即使对于商业应用也是免费的,并且不会留下任何需要的东西. (2认同)

Mar*_*rkJ 14

我听说过免费安装程序Innosetup的好消息,网站上说它可以创建单个EXE安装.

  • 我根据此答案尝试了Innosetup,并且能够在一个小时内获得安装程序。花了一两个小时才能弄清楚如何让我的程序在安装后运行,在启动时启动以及如何基于通配符复制文件。总体而言,我建议您轻松灵活。 (2认同)

Mar*_*tin 6

尝试高级安装程序,我认为它可以做你所要求的一切.我将它用于稍微复杂的安装程序,但免费版本易于使用且功能强大.

MSI文件可能存在问题,旧PC没有最新的Windows Installer,3.1,因此您需要先安装或提示用户!如果您只想复制文件,是否考虑过使用IExpress


jus*_*mer 5

NSIS和Inno Setup都会处理所有指定的任务。Inno Setup 使用类似 Pascal 的语言作为其脚本,NSIS 使用自己的脚本语言。