InnoSetup/MyProg/MyProg.iss

139 lines
4.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

; 脚本由 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
[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;
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;
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();
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;
end;