fixed: iss [base] 安装完成后删除 template 文件

This commit is contained in:
yuejiajun 2025-08-17 12:37:05 +08:00
parent d302a01b47
commit ec815836fa

View File

@ -62,30 +62,40 @@ Name: "Chinese"; MessagesFile: "compiler:Languages\Chinese.isl";
;Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
;; 程序 ICO
[Icons]
;Name: "{autoprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}.exe"
;Name: "{autodesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}.exe"; Tasks: desktopicon
;; 组件安装方式
[Types]
Name: "full"; Description: "完整组件安装";
Name: "mini"; Description: "最小安装";
;; ============================================== 自定义组件 必须启用 iscustom 作为 Flags ==============================================
; iscustom 开启自定义选项
Name: "custom"; Description: "自定义组件安装"; Flags: iscustom;
;; 组件列表选择项
[Components]
;; ============================================== 自定义组件的 Types 可以不参与任何固定式 ==============================================
Name: "MainApp"; Description: "{#MyAppName}主程序"; Types: full mini; Flags: checkablealone;
Name: "JDK"; Description: "JDK程序"; Types: full custom; Flags: checkablealone;
Name: "Redis"; Description: "Redis程序"; Types: full custom; Flags: checkablealone;
Name: "MinIO"; Description: "MinIO程序"; Types: full custom; Flags: checkablealone;
Name: "RocketMQ"; Description: "RocketMQ程序"; Types: full custom; Flags: checkablealone;
Name: "Nginx"; Description: "Nginx程序"; Types: full custom; Flags: checkablealone;
Name: "MySQL"; Description: "MySQL程序"; Types: full custom; Flags: checkablealone;
Name: "JDK"; Description: "JDK程序"; Types: full; Flags: checkablealone;
Name: "Redis"; Description: "Redis程序"; Types: full; Flags: checkablealone;
Name: "MinIO"; Description: "MinIO程序"; Types: full; Flags: checkablealone;
Name: "RocketMQ"; Description: "RocketMQ程序"; Types: full; Flags: checkablealone;
Name: "Nginx"; Description: "Nginx程序"; Types: full; Flags: checkablealone;
Name: "MySQL"; Description: "MySQL程序"; Types: full; Flags: checkablealone;
;; 引入文件列表
[Files]
;; ============================================== 共享文件 禁止使用 ignoreversion 作为 Flags ==============================================
;; Readme
; 安装完的 readme 信息
Source: "Resources\Readme.md"; DestDir: "{app}"; Flags: isreadme;
;Source: "Resources\Readme.md"; DestDir: "{app}"; Flags: isreadme;
;; 文件
Source: "Resources\grep.exe"; DestDir: "{app}\usr"; DestName: "grep.exe"; Flags: ignoreversion; Components: MainApp;
;; 文件夹
@ -107,9 +117,9 @@ Name: "{app}\nginx\dist"; Permissions: users-modify; Components: Nginx;
;; 安装前后删除文件
[InstallDelete]
Type: files; Name: "{app}\mysql\template.ini";
Type: files; Name: "{app}\mysql\template-initialize-and-start-mysql.bat";
Type: files; Name: "{app}\mysql\template-register-mysql-with-data.bat";
;Type: files; Name: "{app}\mysql\template.ini";
;Type: files; Name: "{app}\mysql\template-initialize-and-start-mysql.bat";
;Type: files; Name: "{app}\mysql\template-register-mysql-with-data.bat";
;; 安装时注册表与环境变量列表
@ -177,12 +187,12 @@ Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environmen
;; 【MySQL】环境变量【注册服务使用】
; 数据库服务注册后服务名
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; AfterInstall: RefreshEnvironment; Components: MySQL; \
;Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; AfterInstall: RefreshEnvironment; Components: MySQL; \
ValueName: "X_MANAGE_DB_SC"; ValueData: "x_database"; Flags: uninsdeletevalue ;
; 这两个值,将作为后续判断程序是否已经安装做依据
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; AfterInstall: RefreshEnvironment; Components: MySQL; \
;Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; AfterInstall: RefreshEnvironment; Components: MySQL; \
ValueName: "X_MANAGE_DB_EXE"; ValueData: "{app}\mysql\bin\mysqld.exe"; Flags: uninsdeletevalue ;
Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; AfterInstall: RefreshEnvironment; Components: MySQL; \
;Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; AfterInstall: RefreshEnvironment; Components: MySQL; \
ValueName: "X_MANAGE_DB_COF"; ValueData: "{app}\mysql\my.ini"; Flags: uninsdeletevalue ;
; MySQL【通用服务】导入脚本数据使用
@ -401,13 +411,19 @@ end;
// 在安装完成后执行
procedure CurStepChanged(CurStep: TSetupStep);
begin
begin
// 仅在安装完成后执行
if CurStep = ssPostInstall then
begin
CreateConfigFromTemplate;
// if UsingWinNT then
// Exec('cmd.exe', '/C cmd', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
if FileExists(ExpandConstant('{app}\mysql\template.ini')) then
DeleteFile(ExpandConstant('{app}\mysql\template.ini'));
if FileExists(ExpandConstant('{app}\mysql\template-initialize-and-start-mysql.bat')) then
DelTree(ExpandConstant('{app}\mysql\template-initialize-and-start-mysql.bat'), False, True, False);
if FileExists(ExpandConstant('{app}\mysql\template-register-mysql-with-data.bat')) then
DelTree(ExpandConstant('{app}\mysql\template-register-mysql-with-data.bat'), False, True, False);
end;
end;