【程序封装】使用inno setup将exe程序封装成向导安装程序
使用Inno Setup打包出来的安装包很多时候都需要有管理员权限,比如写系统位置的注册表、拷贝文件到系统目录之类的都需要有管理员权限,可以通过修改Inno Setup的配置现实1.首先下载ResourceHacker,下载地址https://resource-hacker.en.softonic.com/2.在Inno Setup的安装目录下找到SetupLdr.e32文件,使用Resource
·
目录
一、inno setup安装
我准备了汉化安装包,百度网盘链接:https://pan.baidu.com/s/1Um8mzB42h_kd7zlH7w3ZKg (提取码:ara1)。
二、向导安装包示例
1.我的程序
2.inno 文件
inno打包的配置文件为.iss文件,有很多配置需要自己处理,比如向导安装中需要选择的参数,需要配置环境变量等等。
[setup]内容是inno工具创建新向导安装完成的,参数按照指导页面逐项选择就行。
[Tasks]内容是我们要生成的向导安装中的选择项,需要在后边被使用才能生效。
[Files]是我们需要的主要文件,首先需要的就是单独的exe执行程序,还有就是程序需要的文件和其他执行程序。
[Icons]
[Run]Files中的人第三方exe如果需要安装,在这里可以弹窗告知使用人,进行安装。
[Registry] 向电脑中新增环境变量,及环境变量中path路径
; 脚本由Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!
#define MyAppName "RRVT"
#define MyAppVersion "1.0"
#define MyAppPublisher "李朋飞"
#define MyAppURL "https://www.bilibili.com/video/BV1L44y1Y7HQ/"
#define MyAppExeName "人人动图.exe"
[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (若要生成新的 GUID,可在菜单中点击 "工具|生成 GUID"。)
AppId={{5E329829-B2C3-4373-819F-19F97179BE40}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
DisableProgramGroupPage=yes
; 以下行取消注释,以在非管理安装模式下运行(仅为当前用户安装)。
;PrivilegesRequired=lowest
OutputDir=D:\Desktop\新建文件夹
OutputBaseFilename=evtsetup
SetupIconFile=C:\Users\lpf_a\PycharmProjects\VT\img\evt128.ico
Compression=lzma
SolidCompression=yes
WizardStyle=modern
ChangesEnvironment=yes
[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
Name: "installffmpeg" ; Description:"安装ffmpeg" ;Flags: restart
; 注意: Tasks为可选任务设置,在安装界面选择
[Files]
Source: "C:\Users\lpf_a\PycharmProjects\VT\dist\RRVT\RRVT.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\lpf_a\PycharmProjects\VT\dist\RRVT\*"; DestDir: "{app}";Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\lpf_a\PycharmProjects\VT\data\*"; DestDir: "{app}\data";Permissions:users-modify;Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\lpf_a\PycharmProjects\VT\img\*"; DestDir: "{app}\img";Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\lpf_a\PycharmProjects\VT\lib\*"; DestDir: "{app}\lib";Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\lpf_a\PycharmProjects\VT\log\*"; DestDir: "{app}\log";Permissions:users-modify;Flags: ignoreversion recursesubdirs createallsubdirs
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”
[Icons]
Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\RRVT.exe"; WorkingDir: "{app}";Tasks: desktopicon
; 注意: Icons为桌面快捷图标设置
[Run]
;Filename: “D:\Desktop\人人动图\data\ImageMagick-7.1.0-16-Q16-HDRI-x64-dll.exe”; Parameters: “/q”; StatusMsg: “Installing Microsoft Visual C++ Runtime …”; Flags: skipifdoesntexist;
;Filename: “D:\Desktop\人人动图\data\K-Lite_Codec_Pack_1635_Mega.exe”; Parameters: “/q”; StatusMsg: “Installing Microsoft Visual C++ Runtime …”; Flags: skipifdoesntexist;
;Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
[Registry]
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: expandsz; ValueName: "Path"; ValueData: "{olddata};{app}\lib\ffmpeg\bin";Tasks : installffmpeg
3.安装效果
三、inno setup基本使用
四、inno setup实现管理员权限
五、报错处理
1.CreateProcess failed;code 2
更多推荐
所有评论(0)