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

时间:2009-07-02 12:11:11

标签: windows installer

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

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

15 个答案:

答案 0 :(得分:27)

看看NSIS这很简单,它用于为Windows创建安装程序。

答案 1 :(得分:22)

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

你可以在Visual Studio中使用安装程序项目(如果你拥有它;我不确定Express版本是否支持制作安装程序),因为他们会非常高兴地生成一个MSI,它会做你要求的。值得注意的是他们会产生EXE和MSI,你只需要分发MSI。

如果做不到这一点,请查看Windows Installer XML (WiX)因为这样可以让你手工雕刻一个完全符合你想要它的MSI,并且会满足你上面所有五点。

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

答案 2 :(得分:13)

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

答案 3 :(得分:6)

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

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

答案 4 :(得分:2)

NSISInno Setup都将处理指定的所有任务。 Inno Setup的脚本使用类似Pascal的语言,NSIS使用自己的脚本语言。

答案 5 :(得分:2)

IExpress

您可以使用名为" Iexpress"的Microsoft Windows内置安装程序向导。要访问它,请打开"运行",这是通过同时按Windows键和R(WindowsKey + R)完成的。当你进入"运行"时,输入小方框" iexpress.exe"。然后按回车键。你在那里!

注意:仅适用于Microsoft Windows(Legit和NonLegit)

安装说明
Page 1
  - 创建自提取指令文件    制作新的安装文件
  - 创建自提取指令文件    编辑.SED文件
Page 2 (创建自我提取指令文件。)
- 查看"说明"在底部
Page 3
- 包裹标题
  安装程序的名称,如顶部所示 Page 4
- 确认提示

  安装前告诉用户的内容 Page 5
- 许可协议
  如果你不知道这是什么,请跳过 第6页
- 打包文件
  您需要安装哪些文件
Page 7
- 显示窗口   窗口如何显示
Page 8
- 显示在顶部 Page 9
- 包名称和选项   保存文件的位置 - 隐藏文件从用户中提取进度   隐藏动画 - 使用安装程序内的长名称存储文件   如果你不知道这是什么,请忽略 Page 10
- 显示在顶部
你完成了!
单击标题以下载文件,而不执行这些说明。如果它是病毒,被感染或您认为它是病毒,请随时删除该文件。

答案 6 :(得分:1)

没有在某处复制安装程序在添加/删除中添加条目似乎是反作用的。我的理解是添加 - 删除程序必然引用驻留在Windows目录中的卸载程序的副本(因此它不会失去对它的访问权限)。

如果您传递某种命令行选项,也许您可​​以将屏幕保护程序双重作为卸载程序。然后简单告诉msi卸载程序是屏幕保护程序(因此没有必要处理其他目录。)

答案 7 :(得分:1)

NSIS是可行的方法,非常简单易学,只需编写一个简单的文件,指定要在哪里安装哪些文件。您还可以添加QuickLaunch选项等。然后运行NSIS编译器,你就得到了exe。

答案 8 :(得分:1)

InstallShield有一个名为“Single .EXE”的发布选项。它可以将内部有效负载捆绑在一起,按照您的指定插入寄存器w / Add-Remove Programs。

答案 9 :(得分:1)

您可以使用Visual Studio 2017 Pro和Windows分三步创建单个安装程序文件:

  1. 要在“添加/删除程序”中输入条目,您需要拥有一个条目 安装项目。
  2. 安装项目可以编译成2个文件:* .msi和 SETUP.EXE
  3. 要创建自解压程序包,可以使用 IExpress工具

答案 10 :(得分:0)

NSIS,MSI任何安装人员都可以为您做到这一点。

NSIS非常小巧紧凑。

答案 11 :(得分:0)

如果您想在安装程序中使用标准部署方法,则可能应远离NSIS。有关概述,请参阅http://unattended.sourceforge.net/installers.php

答案 12 :(得分:0)

我建议使用Microsoft Visual Studio安装程序项目。这很容易使用。

https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2017InstallerProjects

您可以将其安装为Visual Studio中的扩展。

答案 13 :(得分:0)

尝试使用CQtDeployer工具。该工具使用Qt Installer Framework创建安装程序,并支持Windows和Linux平台。

  1. 安装cqtdeployer工具。我建议使用在线安装程序,因为它具有最新版本的cqtdeployer并已修复了一些错误。
  2. 在您的框架环境中打开cmd。
  3. 在cmd上为您的应用程序运行cqtdeployer。
cqtdeployer -bin path\to\myApp.exe qif 

如果使用Qt,则添加qmake选项。

cqtdeployer -bin path\to\myApp.exe -qmake path\to\qmake.exe qif 

有关使用此实用程序的更多示例,请参见CQtDeployer Wiki

答案 14 :(得分:-4)

我正在使用Actual Installer。试试吧!