给公司小工具做一个能双击安装的包,试过 NSIS 觉得脚本太绕,后来用 Inno Setup 半小时搞定。它免费开源,生成的安装向导长得跟正规软件一样,支持把卸载项写进控制面板,中小项目足够用。
装好先认识脚本结构
下载安装包一路下一步。启动后在向导里点 New,生成一个 .iss 脚本骨架。核心就几个段:Setup 定软件名、版本、默认目录;Files 声明要打包的文件;Icons 建开始菜单和桌面快捷方式;Run 控制安装完要不要启动程序;Code 写自定义逻辑。
一个能跑的最小脚本
[Setup]
AppName=MyTool
AppVersion=1.2.0
DefaultDirName={autopf}/MyTool
[Files]
Source: build/*; DestDir: {app}; Flags: recursesubdirs
[Icons]
Name: {group}/MyTool; Filename: {app}/MyTool.exe{app} 代表安装目录,{autopf} 是自动选的 Program Files,{group} 是开始菜单文件夹。Flags 里的 recursesubdirs 表示连子目录一起打包,这套占位符别写死路径,不然换台机器就崩。
让程序开机自启和数据隔离
想加开机启动,在 Registry 段写 HKCU 的 Run 项,指向 {app}/MyTool.exe。要装驱动或注册服务,得在 Run 段里调命令行工具。用户配置不要写进安装目录,Program Files 默认没写权限,放到 {userappdata} 才不会报拒绝访问。
编译和签名
- 编译:按 F9 或点 Build,输出在 Output 目录,默认叫 setup.exe。
- 体积:压缩方式在 Setup 段的 Compression 调 lzma,能压掉一半。
- 签名:没买代码签名证书,装的时候会弹智能屏拦截,个人工具能忍,对外发布建议买张 EV 证书。
判断标准很简单:只是内部几个人用,默认脚本就够;要是给客户装且带驱动,务必把卸载和数据目录都测一遍,再考虑签名。