I had a similar problem, and I thought of different workarounds: configure all the settings manually or do internal localization, but they all looked so cropped from the start. Select Language Installation Dialog
I have forked issrc, it was created locally and looked through the main.pas of the Setup project. I see that the idea is to do it the way it is now: people can use {Language} in the InitializeSetup , so it is called after the AskForLanguage method.
To just test the idea, I made minor changes to main.pas: call AskForLanguage after CodeRunner and InitializeSetup . I got the VCL installation language selection dialog, but not all - the NON Client Area was not VCL'ed:

I tried to inherit the language form not from the TForm class, but from TSetupForm or call it in the middle of the configuration or make other changes - without result. If anyone knows why this is not VCL'ed - tell me, please!
Then I read the Custom Window Frame Using DWM article and just made a bsNone form bsNone and got the following:

So now I'm fine. This form was not designed before many stylized pages were so ... annoying.
If we want to do it right, I think that all we need to do is move the CodeRunner init to AskForLanguage and add a custom code function like StyleInit or so on. Then everyone will be happy: {Language} will be available in InitializeSetup , and Dialog will be VCL'ed.
source share