[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[Icons]
Name: "{commondesktop}\My Application"; Filename: "{uninstallexe}"; WorkingDir: "{app}"; Check: TestCheck;
[B][[/B]Code]
var
TestCheckBox : TCheckBox;
function TestCheck: boolean;
begin
Result := TestCheckBox.Checked;
end;
procedure InitializeWizard;
begin
TestCheckBox := TCheckBox.Create(WizardForm);
with TestCheckBox do begin
Parent := WizardForm.SelectDirPage;
Caption := 'Создать ярлык на рабочем столе';
SetBounds(WizardForm.DiskSpaceLabel.Left, WizardForm.DirEdit.Top + ScaleY(40), ScaleX(300), Height);
end;
end;
А откуда мне знать, что вы имели в виду? Выражайте мысли яснее.Mailchik, я имел ввиду полноценный чекбокс создающий ярлык
[Icons]
Name: {commondesktop}\Иконка для удаления; Filename: {app}\unins000.exe; WorkingDir: {app}; Check: CheckIcon;
[B][[/B]Code]
var
TestCheckBox : TCheckBox;
function CheckIcon:boolean;
begin
result:= TestCheckBox.Checked;
end;
procedure InitializeWizard;
begin
TestCheckBox := TCheckBox.Create(WizardForm);
with TestCheckBox do begin
Parent := WizardForm.SelectDirPage;
Caption := 'Создать ярлык на рабочем столе';
SetBounds(WizardForm.DiskSpaceLabel.Left, WizardForm.DirEdit.Top + ScaleY(40), ScaleX(300), Height);
end;
end;
Там вроде и нету такогоrenamefile в IsDone
var
DesktopIcon : TCheckBox;
function CheckIcon:boolean;
begin
result:= DesktopIcon.Checked;
end;
procedure InitializeWizard;
begin
DesktopIcon := TCheckBox.Create(WizardForm);
with DesktopIcon do begin
Parent := WizardForm.SelectDirPage;
Caption := 'Создать ярлык на рабочем столе';
SetBounds(WizardForm.DiskSpaceLabel.Left, WizardForm.DirEdit.Top + ScaleY(40), ScaleX(300), Height);
Checked:=true;
end;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpReady then
begin
if DesktopIcon.Checked then
WizardForm.ReadyMemo.Lines.Add(#9 + 'Добавить ярлык на Рабочий стол');
end;
end;[/SPOILER]
Так и делал, ошибка всё равно была.RenameFile(ExpandConstant('{app}\До'), ExpandConstant('{app}\После'));
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then begin
RenameFile(ExpandConstant('{app}\Rename'), ExpandConstant('{app}\temp'));
end;
end;[/SPOILER]
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
[B][[/B]Code]
var
TestCheckListBox: TNewCheckListBox;
procedure TestClickCheck(Sender: TObject);
var
ResultStr: string;
begin
if TestCheckListBox.Checked[1] then begin
WizardForm.DirEdit.Enabled := False;
WizardForm.DirBrowseButton.Enabled := False;
if RegQueryStringValue(HKLM, 'SOFTWARE\Valve\Steam', 'InstallPath', ResultStr) then
WizardForm.DirEdit.Text := ResultStr + '\steamapps\common\' + '{#SetupSetting('AppName')}';
end else begin
WizardForm.DirEdit.Enabled := True;
WizardForm.DirBrowseButton.Enabled := True;
WizardForm.DirEdit.Text := ExpandConstant('{#SetupSetting('DefaultDirName')}');
end;
end;
procedure InitializeWizard;
begin
TestCheckListBox := TNewCheckListBox.Create(WizardForm);
with TestCheckListBox do begin
Parent := WizardForm.SelectDirPage;
BorderStyle := bsNone;
Color := WizardForm.SelectDirPage.Color;
WantTabs := True;
SetBounds(WizardForm.DiskSpaceLabel.Left, WizardForm.DirEdit.Top + ScaleY(30), ScaleX(300), Height);
OnClickCheck := @TestClickCheck;
AddRadioButton('Взломанная версия', '', 0, True, True, nil);
AddRadioButton('Steam-версия', '', 0, False, True, nil);
end;
end;