结冰的离季
本帖最后由 结冰的离季 于 2021-10-24 12:29 编辑
InnoSetup 是一个免费开源的 Windows 安装程序制作软件。第一次发表是在 1997 年,Inno Setup 今天在功能设置和稳定性上的竞争力可能已经超过一些商业的安装程序制作软件。使用Inno Setup制作安装程序的有如VSCode、ShareX等。

前言

我观遍全论坛,好像很多人都喜欢用压缩包来分享整合包,这没什么不好,但是少了点雅致。
作为一个写过程序的开发者来说,总会想办法给自己软件加个安装程序。所以我有了给整合包加安装程序的想法。
有什么优点呢?傻瓜化操作,一步到位。(我甚至见过压缩包都不不知道是什么的人,安装程序可以将所有需要做的事做完。安装完直接玩就行)

具体能做什么呢?就是把整合包变成安装包,然后可以执行一些编程操作,比如删除指定文件,安装文件,配置变量,修改文件等等,就跟一个正常的游戏一样

一、软件下载

官方下载界面: Inno Setup Downloads (jrsoftware.org)
模板及程序网盘下载:https://iseason.lanzoui.com/b00oryhfi 密码:f8hy


二、模板使用
针对于动手能力较弱的人群,使用模板可以快速达到想要的效果。
本模板开源地址 Iseason2000/MinecraftInstaller: 一个用InnoSetup制作的我的世界整合包安装程序 (github.com)
为他人项目的fork,并非我原创,我只是修改了一下

模板具有以下功能:
- 单EXE文件,急速安装,傻瓜化操作
- 自定义安装路径
- 生成桌面快捷方式
- 安全卸载
- 安装完成启动游戏
- 安装新版时自动卸载旧版
- 完全自定义的界面
- 可编程(pascal语言)
- win11圆角(1.1版本添加)
效果预览(我自己服务器的安装包)


模板目录解析

  1. app                   //存放待打包的客户端的默认位置,可在main.iss修改
  2. include               //存放代码文件,非必要不要修改
  3. lang                  //存放语言文件,默认为中文
  4. Output                //安装程序的默认输出位置
  5. tmp                   //存放资源文件,修改安装界面需要替换png文件
  6. PSD                   //png文件的工程文件,使用PhotoShop修改
  7. Main.iss              //工程主文件,可修改信息
  8. Setup.ico             //安装程序图标,分辨率不限,ico格式
复制代码


Main.iss 修改
在打开文件之前确保你安装了InnoSetup
打开是这样子的,我用了夜间模式

; 开始的为注释(绿色的)
;#define xxx 为关闭的功能,将前面  ;  删掉即可启用,加回 ;  即可关闭


首先需要修改的是程序的GUID,作为程序的唯一标识,仅修改一次,之后不用修改

如上图,使用tools 里的GUID工具来生成随机GUID,以免跟别的程序冲突。
推荐使用32位的安装程序(#define x64Build 项保持注释状态),这样32位和64位的系统均能打开。

以下是一些参数的说明,找不到可以使用Ctrl+F搜索

  1. MyAppID               //程序GUID唯一标识符,请不要跟别的程序一样,看上面随机生成一个
  2. MyAppName             //安装程序的名字
  3. MyAppExeName          //主程序的名字,一般是启动器,保留后缀
复制代码

之后是这一部分的信息


以下是一些参数的说明,找不到可以使用Ctrl+F搜索

  1. MyAppVersion                  //版本号,用于区别版本和更新                        
  2. MyAppPublisher                //程序发布者
  3. MyAppPublisherURL             //发布者的主页        
  4. MyAppComments                 //安装程序名称
  5. MyAppReadmeURL                //阅读更多的网址
  6. MyAppLicenseURL               //许可证网址,界面左下角那个
  7. IconFile                      //安装程序的图标位置,默认即可
复制代码

如果你不想修改太多信息只需要修改以上内容就行,更多的信息在文件内均有注释说明,请自行研究


编译输出

在修改完所有信息之后就可以导出了
点击菜单栏的Build 然后点Compile 就可以了,等待打包,默认输出到工程目录下的Output目录



三、进阶教程(针对需要完全掌握/自定义功能的人)
B站教程: 【零基础教程】如何使用Inno Setup软件制作.exe安装包_哔哩哔哩_bilibili
官方文档(英文): Inno Setup Help (jrsoftware.org)

查毒报告:
https://www.virustotal.com/gui/file/5a199f7e4c2311e8ec55a256bdf7a7117d44ac2796b5b802986c4b831545339c/detection
https://www.virustotal.com/gui/file/ae6823b523df87e9441789e51845434e4e0e70aac0b88afe80f94f20f4b98acb/detection

如果你想要制作一款这样的程序但是没有你要的功能又不想研究pascal代码,
可以到爱发电付费享受代打包服务






阿权本权
mcbbs有你更精彩

Wudji
这是安装完内置一个游戏启动模块吗

结冰的离季
Wudji 发表于 2021-8-25 23:56
这是安装完内置一个游戏启动模块吗

把整合包变成安装包,然后可以执行一些编程操作,比如删除指定文件,安装文件,配置变量,修改文件等等,就跟一个正常的游戏一样

Cast1e
确实是一个很实用的教程,

零落雨_
真的很不错666

3156540659
谢谢大佬分享,大佬牛逼

f1244212578
感谢作者分享

f1244212578
必须支持一下

748951572
哇 感谢楼主,真的好美!

XI-NEI
这个好,帮大忙了

Smteth
感觉上会使让服务器档次变高

水煮清娃
测试的时候最新版程序(6.2.0)出现编译错误:



结冰的离季
水煮清娃 发表于 2021-9-16 12:06
测试的时候最新版程序(6.2.0)出现编译错误:

降版本,5.9到6.1

翔小翔
太棒了这个,让下载客户端变得更方便了

xxzdsnb
怎么有点像高速下载器的样子(bushi

醉萧兮

和13楼一样的位置一样的报错,5.59和6.12以及6.05都试过了还是:报错

暖言
这个真不错好用

mm2m_www
本帖最后由 淡风顺水 于 2021-9-26 22:28 编辑

非常有用!十分感谢您的分享!

暖言
真不错这界面

iseea

这个怎么搞

结冰的离季

你下错了吧,我这没问题啊,你自己补全



小丶Tutu

MCBBS有你更精彩~   水经验

小丶Tutu

MCBBS有你更精彩~   水经验

denghaha
太厉害了 更像一个高端的整合包了 正需要

3401559831
确实是一个很实用的教程,一遍就会

听枫
很强 高呼666!

cammond_block
这内容比钻石都硬核

ddbwo
弄成一个安装包确实方便多了

逍遥神剑仙
mc有你而精彩

Cojie_
我不明白的地方就是在MyAppId这个生成这里我系统是64位生成的x64Build 32位的该如何生成呢 这两个都保留还是只留一个

结冰的离季
Cojie_ 发表于 2021-10-28 22:31
我不明白的地方就是在MyAppId这个生成这里我系统是64位生成的x64Build 32位的该如何生成呢 这两个都保留还 ...

默认是32位的,你得把#define x64Build取消注释才是64位的

下一页 最后一页