Chcę wykonać kod, jeśli użytkownik zaznaczy odpowiednie pole wyboru podczas instalacji. Po przeczytaniu pliku pomocy wygląda na to, że jedynym sposobem użycia tego zadania jest powiązanie go z wpisem w Pliki/Ikony/itd. Sekcja. Naprawdę chciałbym powiązać go z procedurą w sekcji Kod. Czy można to zrobić, a jeśli tak, to w jaki sposób?Uruchamianie niestandardowego kodu za pomocą zadań w konfiguracji Inno
6
A
Odpowiedz
4
to zrobić poprzez dodanie niestandardowej strony kreatora, który zawiera pola wyboru i wykonywania kodu dla wszystkich zaznaczonych pól wyboru, gdy użytkownik kliknie przycisk „Dalej” na tej stronie:
[Code]
var
ActionPage: TInputOptionWizardPage;
procedure InitializeWizard;
begin
ActionPage := CreateInputOptionPage(wpReady,
'Optional Actions Test', 'Which actions should be performed?',
'Please select all optional actions you want to be performed, then click Next.',
False, False);
ActionPage.Add('Action 1');
ActionPage.Add('Action 2');
ActionPage.Add('Action 3');
ActionPage.Values[0] := True;
ActionPage.Values[1] := False;
ActionPage.Values[2] := False;
end;
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
if CurPageID = ActionPage.ID then begin
if ActionPage.Values[0] then
MsgBox('Action 1', mbInformation, MB_OK);
if ActionPage.Values[1] then
MsgBox('Action 2', mbInformation, MB_OK);
if ActionPage.Values[2] then
MsgBox('Action 3', mbInformation, MB_OK);
end;
end;
Pola wyboru mogą albo być standardowymi kontrolkami lub elementami w polu listy, zobacz dokumentację Inno Setup na temat Skrypty Pascala.
Jeśli chcesz, aby kod był wykonywany w zależności od tego, czy został wybrany określony komponent lub zadanie, użyj zamiast tego funkcji IsComponentSelected()
i IsTaskSelected()
.
11
Nie trzeba definiować własnej strony kreatora. Możesz po prostu dodać je do strony dodatkowych zadań.
[Tasks]
Name: associate; Description:"&Associate .ext files with this version of my program"; GroupDescription: "File association:"
[Code]
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
if CurPageID = wpSelectTasks then
begin
if WizardForm.TasksList.Checked[1] then
MsgBox('First task has been checked.', mbInformation, MB_OK);
else
MsgBox('First task has NOT been checked.', mbInformation, MB_OK);
end;
end;
Kredyt trafia do TLama za this post.
Powiązane problemy
- 1. Aktualizacja odpowiednika kodu w konfiguracji Inno
- 2. Jak komentować blok instrukcji w konfiguracji inno
- 3. Uruchamianie zadań w tle za pomocą elastycznej beanstalk
- 4. Jak uzyskać UITextFieldDelegate.shouldChangeCharactersInRange na uruchamianie za pomocą niestandardowego inputView?
- 5. Uruchamianie aplikacji na Androida za pomocą niestandardowego polecenia Google Now
- 6. Automatyczne uruchamianie zadań dławiących za pośrednictwem npm
- 7. Uruchamianie poleceń powłoki za pomocą kodu Java na Androida?
- 8. Inno Setup uruchamianie (instalowanie sterowników) podczas instalacji
- 9. Uruchamianie 2 zadań asynchronicznych z pomiarem
- 10. Jak otworzyć okno konfiguracji konfiguracji w Eclipse za pomocą skrótu?
- 11. Uruchamianie skryptów bash za pomocą npm
- 12. uruchamianie skryptów za pomocą procesora
- 13. Uruchamianie długich zadań bez zamrożenia interfejsu użytkownika
- 14. Uruchamianie kodu "preambuły" w MATLAB
- 15. Automatyczne ponowne uruchamianie długich zadań w Julia
- 16. uruchamianie zadań w zaplanowanym czasie java, apache
- 17. Instalowanie pliku w folderze AppData użytkowników za pomocą inno-setup
- 18. Uruchamianie kreatora za pomocą przycisku w OpenERP
- 19. Uruchamianie wszystkich konfiguracji kompilacji w TeamCity
- 20. Jak zainstalować usługę Windows za pomocą Inno Setup?
- 21. Uruchamianie niektórych zadań w programie Notes IPython w trybie odłączonym
- 22. Uruchamianie zatrzymanej instancji EC2 za pomocą Boto
- 23. Uruchamianie kodu CloudKit w testach?
- 24. Uruchamianie niestandardowego VirtualPathProvider z prekompilowaną stroną internetową
- 25. Kontrolowanie kolejności wykonywania zadań za pomocą ExecutorService
- 26. Planowanie długotrwałych zadań za pomocą usług AWS
- 27. Programowe wyłączanie Menedżera zadań za pomocą C#
- 28. Tworzenie zadań za pomocą pętli [gulp]
- 29. Dodawanie niestandardowego kodu generator
- 30. Dlaczego uruchamianie zaplanowanych zadań za pomocą Celery byłoby lepsze niż crontab?