我想使用vcl-styles或isskin來設置我的inno-setup安裝程序。我嘗試了兩種,而且看起來很棒。唯一的問題是不幸的是,在執行InitializeSetup事件(其中是皮膚加載)之前,Select Setup語言對話框就已經顯示出來了。選擇安裝語言對話框
[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;
因此,目前不可能將樣式應用於該對話框。假設沒有辦法設置活動語言(據我所知,如果有我會創建自定義選擇語言形式)我沒有看到任何解決方案。我喜歡能夠設置我的設置,所以現在尋找任何可能的解決方法。除了派發issrc併爲我的需要重建它之外,有沒有人有任何想法?
RRUZ有['相同problem'(http://stackoverflow.com/q/21612920/960757)。你將不得不建立你自己的Inno Setup版本。 – TLama
已分叉issrc。但後來我停下來想了一會 - 也許它更快地創建自己的本地化,是吧? 任何提示在哪裏改變事情,我提到你是issrc contributore,TLama? – mishander
製作自己的本地化並不是要走的路,因爲有些內容是從語言文件內部讀取的,而您不能截取的內容(例如所有消息對話框)。我不是一個貢獻者,但是我過去做過很多定製的Inno Setup。你需要做的是在['script runner被初始化之後]的某處移動['language intialization'](https://github.com/jrsoftware/issrc/blob/is-5_5_4/Projects/Main.pas#L3040) '](https://github.com/jrsoftware/issrc/blob/is-5_5_4/Projects/Main.pas#L3116)。但要非常小心。它可能會破壞某些東西......沒時間檢查這個更深的...... – TLama