InnoSetup/MyProg/MyProg.iss

139 lines
4.6 KiB
Plaintext
Raw Normal View History

2023-11-13 20:30:36 +08:00
; 脚本由 Inno Setup 脚本向导 生成!
; 有关创建 Inno Setup 脚本文件的详细资料请查阅帮助文档!
#define MyAppName "我的程序"
#define MyAppVersion "1.5"
#define MyAppPublisher "我的公司"
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "MyProg.exe"
[Setup]
; 注: AppId的值为单独标识该应用程序。
; 不要为其他安装程序使用相同的AppId值。
; (若要生成新的 GUID可在菜单中点击 "工具|生成 GUID"。)
AppId={{0D5BFA20-02BB-46D0-A603-2638F085F72B}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}\{#MyAppName}
DisableProgramGroupPage=yes
DisableReadyPage=yes
DisableReadyMemo=yes
ShowLanguageDialog=false
LicenseFile=D:\Code\gitea\InnoSetup\MyProg\license.txt
InfoBeforeFile=D:\Code\gitea\InnoSetup\MyProg\install_before.txt
InfoAfterFile=D:\Code\gitea\InnoSetup\MyProg\install_after.txt
; 移除以下行,以在管理安装模式下运行(为所有用户安装)。
PrivilegesRequired=lowest
PrivilegesRequiredOverridesAllowed=dialog
OutputDir=D:\Code\gitea\InnoSetup\MyProg\Out
OutputBaseFilename=mysetup
Compression=lzma
SolidCompression=yes
WizardStyle=modern
[Languages]
Name: "chinesesimp"; MessagesFile: "compiler:Default.isl"
Name: "english"; MessagesFile: "compiler:Languages\English.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "C:\Program Files (x86)\Inno Setup 6\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
; 注意: 不要在任何共享系统文件上使用“Flags: ignoreversion”
;包含所有临时资源文件(勿删)
Source: ".\resources\*"; DestDir: "{tmp}"; Flags: dontcopy solidbreak nocompression; Attribs: hidden system
2023-11-13 20:30:36 +08:00
[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
[Code]
CONST
//PRODUCT_REGISTRY_KEY_32 = 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#MyAppID}_is1';
//PRODUCT_REGISTRY_KEY_64 = 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{#MyAppID}_is1';
WM_SYSCOMMAND = $0112;
ID_BUTTON_ON_CLICK_EVENT = 1;
WIZARDFORM_WIDTH_NORMAL = 600;
WIZARDFORM_HEIGHT_NORMAL = 400;
WIZARDFORM_HEIGHT_MORE = 470;
VAR
CreateShortcutCb: TNewCheckBox;
StartWithWinCb: TNewCheckBox;
AgreeTextCb: TNewCheckBox;
procedure CreateShortcutCbClick(Sender: TObject);
begin
// 在这里处理复选框的选择变化事件
if CreateShortcutCb.Checked then
MsgBox('复选框被选中了。', mbInformation, MB_OK)
else
MsgBox('复选框被取消选中了。', mbInformation, MB_OK);
end;
procedure CreateShortcutCbCreate(Sender: TObject);
begin
// 在控件创建时设置字体颜色
TNewCheckBox(Sender).Font.Color := clWhite;
end;
2023-11-13 20:30:36 +08:00
PROCEDURE CurPageChanged(CurPageID : INTEGER);
BEGIN
if CurPageID = wpWelcome then
BEGIN
CreateShortcutCb := TNewCheckBox.Create(WizardForm);
CreateShortcutCb.Parent := WizardForm;
CreateShortcutCb.Left := 20;
CreateShortcutCb.Top := 120;
CreateShortcutCb.Caption := '我同意安装此软件';
CreateShortcutCb.Font.Color := clWhite;
CreateShortcutCb.OnClick := @CreateShortcutCbClick;
CreateShortcutCb.Refresh;
END;
2023-11-13 20:30:36 +08:00
END;
//指定跳过哪些标准页面
FUNCTION ShouldSkipPage(PageID : INTEGER) : BOOLEAN;
BEGIN
IF (PageID = wpLicense) THEN Result := TRUE;
IF (PageID = wpPassword) THEN Result := TRUE;
IF (PageID = wpInfoBefore) THEN Result := TRUE;
IF (PageID = wpUserInfo) THEN Result := TRUE;
IF (PageID = wpSelectDir) THEN Result := TRUE;
IF (PageID = wpSelectComponents) THEN Result := TRUE;
IF (PageID = wpSelectProgramGroup) THEN Result := TRUE;
IF (PageID = wpSelectTasks) THEN Result := TRUE;
IF (PageID = wpReady) THEN Result := TRUE;
IF (PageID = wpPreparing) THEN Result := TRUE;
IF (PageID = wpInfoAfter) THEN Result := TRUE;
END;
procedure InitializeWizard();
2023-11-13 20:30:36 +08:00
begin
WizardForm.InnerNotebook.Hide();
WizardForm.OuterNotebook.Hide();
WizardForm.Bevel.Hide();
WITH WizardForm DO
BEGIN
BorderStyle := bsNone;
Position := poScreenCenter;
Width := WIZARDFORM_WIDTH_NORMAL;
Height := WIZARDFORM_HEIGHT_MORE;
Color := clRed;
NextButton.Height := 0;
CancelButton.Height := 0;
BackButton.Visible := FALSE;
END;
2023-11-13 20:30:36 +08:00
end;