Я хочу создать мой инсталлятор-установщик, используя vcl-стили или isskin. Я попробовал оба, и это выглядит потрясающе. Единственная проблема заключается в том, что, к сожалению, диалоговое окно «Выбрать язык установки» показывается до запуска события InitializeSetup (где загружается скин).Выберите язык установки Диалог
[Files]
Source: ..\VclStylesinno.dll; DestDir: {app}; Flags: dontcopy
Source: ..\Styles\Amakrits.vsf; DestDir: {app}; Flags: dontcopy
[Code]
// Import the LoadVCLStyle function from VclStylesInno.DLL
procedure LoadVCLStyle(VClStyleFile: String); external '[email protected]:VclStylesInno.dll stdcall';
// Import the UnLoadVCLStyles function from VclStylesInno.DLL
procedure UnLoadVCLStyles; external '[email protected]:VclStylesInno.dll stdcall';
function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Amakrits.vsf');
LoadVCLStyle(ExpandConstant('{tmp}\Amakrits.vsf'));
Result := True;
end;
procedure DeinitializeSetup();
begin
UnLoadVCLStyles;
end;
Так что на данный момент невозможно применить стиль к этому диалоговому окну. Предполагая, что нет способа установить активный язык (насколько я знаю, если есть, я создам специальную форму выбора языка), я не вижу никакого решения. Мне нравится умение хорошо настраивать мою настройку, поэтому теперь вы ищете все возможные способы обхода. Есть ли у кого-нибудь идеи, кроме forking issrc и перестроить его для моих нужд?
RRUZ имеет [ 'же задаче'] (http://stackoverflow.com/q/21612920/960757) как вы. Вам нужно будет создать собственную версию Inno Setup. – TLama
Уже forked issrc. Но потом я на мгновение остановился на удивление - может быть, его быстрее создать собственную локализацию, да? Любые подсказки, где можно поменять вещи, я упомянул, что вы являетесь issrc contributore, TLama? – mishander
Создание собственной локализации - не выход, потому что некоторые вещи внутренне читаются из языковых файлов и те, которые вы не можете перехватить (например, все диалоговые окна сообщений). Я не являюсь автором, но в прошлом я сделал множество пользовательских сборок Inno Setup. Что вам нужно сделать, это переместить ['language intialization'] (https://github.com/jrsoftware/issrc/blob/is-5_5_4/Projects/Main.pas#L3040) где-нибудь после инициализации [' script script '] (https://github.com/jrsoftware/issrc/blob/is-5_5_4/Projects/Main.pas#L3116). Но будьте очень осторожны. Это может сломать что-то ... Нет времени, чтобы проверить это глубже ... – TLama