Mam plik instalacyjny w wielu językach utworzony w Inno Setup. Jak mogę używać różnych plików licencyjnych dla różnych języków?

Na przykład:
Język angielski -> Licencja angielska
Język rosyjski -> Licencja rosyjska

1
Medet 26 wrzesień 2012, 08:37

2 odpowiedzi

Najlepsza odpowiedź

Jeśli potrzebujesz tylko niestandardowej licencji dla każdego języka, możesz użyć LicenceFile parametr we wpisie [Languages].

Jeśli chcesz wyświetlić dwie oddzielne licencje, musisz dodać [Code], aby zrobić to samodzielnie, korzystając z funkcji CreateOutputMsgMemoPage() i wczytać inny plik licencji za pomocą czegoś takiego:

ExtractTemporaryFile('additional licence.txt');
LoadStringFromFile(ExpandConstant('{tmp}/additional licence.txt'), LicenceText);
LGPLPage.RichEditViewer.RTFText := LicenceText;

Jeśli potrzebujesz oddzielnego zestawu przycisków Zgadzam się/Nie zgadzam się, musisz również utworzyć i dodać je do strony oraz włączyć/wyłączyć WizardForm.NextButton zgodnie z wymaganiami.

4
Deanna 26 wrzesień 2012, 14:02

Miałem ten problem i Twoja odpowiedź (od Deanny) pomogła mi rozwiązać. Dziękuję Ci!
Mimo to miałem trochę trudności.
Nie rozumiem, że MessagesFile był parametrem [Languages]

Więc zamieszczam przykład, aby uzupełnić odpowiedź znajomego:

[Languages]
Name: "en";   MessagesFile: "compiler:Default.isl";                       LicenseFile: "doc\file-en.rtf"
Name: "ptb";  MessagesFile: "compiler:Languages\BrazilianPortuguese.isl"; LicenseFile: "doc\file-ptb.rtf"
Name: "es";   MessagesFile: "compiler:Languages\Spanish.isl";             LicenseFile: "doc\file-es.rtf"
3
Fábio 17 marzec 2021, 19:43