系列文章
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
目录
前言
项目打包解决方案,程序打包,软件发布,安装包制作,如何下一步下一步引导用户安装软件?请看本文就够了。
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