【Inno Setup】安装包制作,项目打包方案

系列文章

MySQL安装教程(详细)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/126037520

MySQL卸载教程(详细)
本文链接:https://blog.csdn.net/youcheng_ge/article/details/129279265

Excel数据导入工具
本文链接:​ ​​​​​​​https://blog.csdn.net/youcheng_ge/article/details/126427323

自动代码生成器

本文链接:https://blog.csdn.net/youcheng_ge/article/details/126890673


目录

系列文章

前言

一、前期准备

1.1 Inno Setup软件安装

1.2 Inno Setup中文帮助文档

二、软件步骤

2.1 新建脚本向导

2.2 填写软件基本信息

2.3 填写软件安装路径

2.4 添加安装文件

2.5 附加说明文档

2.6 编译设置以及桌面图标

三、资源附件


前言

项目打包解决方案,程序打包,软件发布,安装包制作,如何下一步下一步引导用户安装软件?请看本文就够了。

Inno Setup 是一个免费的安装制作软件(开源),它既有适合新手的脚本向导,又有良好的脚本编辑环境,能够快速制作出标准 Windows2000 风格 的安装界面,足以完成一般的安装任务,在新版本版中软件加入了对多语言的支持,这个功能的实现相较于 NSIS 来得简单多了, 推荐大家使用新的版本。

可以将你项目输出目录,即你的项目 bin,打包成一个安装包,方便用户安装你开发的软件。

Inno Setup支持以下功能:

① 软件安装说明展示

②拷贝项目文件

③自定义软件图标,生成桌面快捷方式

④安装环境检查,比如说:检查PC是否具有Framework运行库。

⑤其它定制化的需求,它是支持书写脚本的,可以用于用户信息配置。

一、前期准备

1.1 Inno Setup软件安装

链接:https://pan.baidu.com/s/1zo29xYryY3oiY4x3naGtRQ?pwd=ibu0 
提取码:ibu0

1.2 Inno Setup中文帮助文档

链接:https://pan.baidu.com/s/1-IlWAFtxkeBq_vxGR5iiSw?pwd=7uog 
提取码:7uog

二、软件步骤

2.1 新建脚本向导

Inno Setup编译器,【文件】--【新建】,打开脚本向导。

2.2 填写软件基本信息

填写应用程序名称,应用程序版本,应用程序发布者,应用程序网站(可不填)

2.3 填写软件安装路径

应用程序目标基本文件夹:自定义D:\Program Files(默认C盘,对于程序读写操作有权限限制,故而我选择安装D盘)

应用程序文件夹名称:AutomaticPlayer

应用程序主执行文件:EXE文件绝对路径

2.4 添加安装文件

其它应用程序文件:程序依赖项全部添加进去。

对于有子文件夹的,引进来点击编辑创建子文件夹名字。

2.5 附加说明文档

后面都是下一步,默认设置就好,无需更改,下图安装前、安装后说明有的,可以附件一下。

2.6 编译设置以及桌面图标

自定义编译器输出文件夹:不填就在当前目录下生成安装包

编译器输出基本文件名:安装包的名字

自定义安装程序图标文件:安装包的图标样式,icon文件,可以在线拿图片转换。

至此,你已经完成了项目的打包,你可以在该目录下找到一个安装包,把它发给客户就可以了。

三、资源附件

我最后生成脚本如下,工具主要读取这个脚本文件,执行安装过程,当然你也可以直接编辑该文件:

; 脚本由 Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!

#define MyAppName "任务计划程序"
#define MyAppVersion "1.2"
#define MyAppPublisher "geyc"
#define MyAppExeName "AutoPlayer.exe"

[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (若要生成新的 GUID,可在菜单中点击 "工具|生成 GUID"。)
AppId={
   
   {4AE0DCEE-59A5-4402-8DFA-F0EC1EDEF26B}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
DefaultDirName=D:\Program Files\AutomaticPlayer
DisableProgramGroupPage=yes
InfoBeforeFile=C:\Users\YS\Desktop\前说明.txt
InfoAfterFile=C:\Users\YS\Desktop\后说明.txt
; 以下行取消注释,以在非管理安装模式下运行(仅为当前用户安装)。
;PrivilegesRequired=lowest
PrivilegesRequiredOverridesAllowed=commandline
OutputDir=E:\软件安装包
OutputBaseFilename=AutomaticPlayer-Setup
SetupIconFile=E:\【我的项目】\图标ico\桌面软件安装.ico
Compression=lzma
SolidCompression=yes
WizardStyle=modern

[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "E:\【程序打包发布】\AutoPlayer.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\app.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\AutoPlayer.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\AutoPlayer.exe.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\AutoPlayer.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.Data.v18.1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.Data.v18.1.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.Printing.v18.1.Core.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.Printing.v18.1.Core.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.Utils.v18.1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.Utils.v18.1.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.XtraEditors.v18.1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.XtraEditors.v18.1.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.XtraGrid.v18.1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.XtraGrid.v18.1.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.XtraLayout.v18.1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.XtraLayout.v18.1.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.XtraPrinting.v18.1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DevExpress.XtraPrinting.v18.1.xml"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\Microsoft.Extensions.Logging.Abstractions.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\netstandard.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\Quartz.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\SQLite.Interop.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\System.Data.SQLite.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\System.ValueTuple.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "E:\【程序打包发布】\DB\DBPlayer.sqlite3"; DestDir: "{app}\DB"; Flags: ignoreversion
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”

[Icons]
Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

猜你喜欢

转载自blog.csdn.net/youcheng_ge/article/details/123665633#comments_28218165