[Setup]
AppName=Моя Программа
AppVersion=1.0
DefaultDirName={autopf}\МояПрограмма
DefaultGroupName=МояПрограмма
OutputDir=Output
OutputBaseFilename=Setup_МояПрограмма
Compression=lzma
SolidCompression=yes
; === Важно: НЕ указываем Password= здесь ===
; Encryption=yes ; раскомментируйте, если хотите шифровать файлы
; Password=СекретныйПароль123 ; НЕ ставьте здесь! (иначе Inno покажет свою страницу)
[Files]
Source: "MyProgram.exe"; DestDir: "{app}"; Flags: ignoreversion
; Добавьте остальные файлы...
[Icons]
Name: "{group}\Моя Программа"; Filename: "{app}\MyProgram.exe"
Name: "{commondesktop}\Моя Программа"; Filename: "{app}\MyProgram.exe"; Tasks: desktopicon
[Tasks]
Name: desktopicon; Description: "Создать ярлык на рабочем столе"; GroupDescription: "Дополнительные задачи"
Код:
var
ConfirmPage: TWizardPage;
ConfirmLabel: TNewStaticText;
procedure InitializeWizard;
begin
ConfirmPage := CreateCustomPage(
wpWelcome,
);
ConfirmLabel := TNewStaticText.Create(ConfirmPage);
with ConfirmLabel do
begin
Parent := ConfirmPage.Surface;
Left := 0;
Top := 0;
Width := ConfirmPage.SurfaceWidth;
Height := ConfirmPage.SurfaceHeight - ScaleY(80);
WordWrap := True;
AutoSize := False;
Font.Size := 10;
Caption :=
'Вы действительно хотите установить программу?' + #13#10#13#10 +
'Установка займёт всего несколько секунд.' + #13#10#13#10 +
'Пароль защиты уже применён автоматически.' + #13#10#13#10 +
'Нажмите кнопку «Далее», чтобы продолжить.';
end;
// Опционально: делаем текст чуть крупнее и жирнее
// ConfirmLabel.Font.Style := [fsBold];
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := False;
if PageID = wpPassword then
Result := True;
end;
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
// Здесь можно добавить дополнительную логику при нажатии "Далее" на нашей странице
if CurPageID = ConfirmPage.ID then
begin
// Пароль уже должен быть передан через /PASSWORD= или установлен ниже
end;
end;
function InitializeSetup(): Boolean;
begin
// Автоматически устанавливаем пароль (если не передан через командную строку)
// Это сработает даже если страница пароля пропущена
WizardSilent := False; // на всякий случай
Result := True;
end;
[/SPOILER]