1

I wanna style my inno-setup installer using vcl-styles or isskin. I tried both, and it looks amazing. The only problem is that unfortunately the Select Setup language Dialog is showen before the execution of the InitializeSetup event (where is the skins loaded).

[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 'LoadVCLStyleW@files:VclStylesInno.dll stdcall';
// Import the UnLoadVCLStyles function from VclStylesInno.DLL
procedure UnLoadVCLStyles; external 'UnLoadVCLStyles@files:VclStylesInno.dll stdcall';

function InitializeSetup(): Boolean;
begin
  ExtractTemporaryFile('Amakrits.vsf');
  LoadVCLStyle(ExpandConstant('{tmp}\Amakrits.vsf'));
  Result := True;
end;

procedure DeinitializeSetup();
begin
  UnLoadVCLStyles;
end;

So for the moment is not possible apply the style to that dialog. Assuming there is no way to set active language (as far as I know, If there is I will create custom Select language form) i dont see any solution. I like the ability to style my setup a lot, so now looking for any possible workaround. Is anybody have any ideas except forking issrc and rebuild it for my needs?

mishander
  • 139
  • 9
  • RRUZ has the [`same problem`](http://stackoverflow.com/q/21612920/960757) as you. You will have to build your own version of Inno Setup. – TLama Feb 11 '14 at 12:45
  • Already forked issrc. But then I stoped for a moment wondering - maybe its faster to just create own localization, huh? Any tips where to change things incide, I mentioned you are issrc contributore, TLama? – mishander Feb 11 '14 at 12:59
  • Making your own localization is not the way to go because a few things are internally read from language files and those you cannot intercept (e.g. all message dialogs). I'm not a contributor, but I've made many custom builds of Inno Setup in the past. What you need to do is move the [`language intialization`](https://github.com/jrsoftware/issrc/blob/is-5_5_4/Projects/Main.pas#L3040) somewhere after the [`script runner is initialized`](https://github.com/jrsoftware/issrc/blob/is-5_5_4/Projects/Main.pas#L3116). But be very careful. It may break something... No time to check this deeper... – TLama Feb 11 '14 at 13:23

1 Answers1

0

From the help and my setup script:

[setup] section:
; When set to auto, the dialog will only be displayed if Setup does not find a language identifier match
ShowlanguageDialog=yes

If set to No no language dialog will show

  • That's true, but the problem is that there's no way to supply your own language dialog. A dialog, which would be styled. – TLama Feb 26 '14 at 16:21