我想使用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