Inno Setup: Color for modal and browse directory windows - inno-setup

Is it possible to change inner background color for modal and browse directory windows in Inno Setup? In my case I want it should be white.
UPD: Same behaviour is on the inner pages of Inner Setup, but I've fixed it by setting WizardForm.InnerPage.Color := clWhite;
I'm using VclStylesInno for styling my installer with custom style spreadsheat.

You cannot change the color of these in Inno Setup itself, except by a custom build of Inno Setup or some addon DLL (see below).
All you can do is to re-implement these dialogs from the scratch:
For the "browse" dialog: Handle the WizardForm.DirBrowseButton.OnClick and use CreateCustomForm and TFolderTreeView to implement the browse dialog. Download Inno Setup code and copy the existing implementation from SelFolderForm.pas.
For an example of handling WizardForm.DirBrowseButton.OnClick, see
How to display localized Program Files name (display name) during installation?
For the "cancel" dialog: Implement the CancelButtonClick event function. Make sure you set Confirm to False to get rid of the default prompt. And implement your own. Again, use the CreateCustomForm.
It's a lot of work for a small gain. I'd not do it.
Instead, you can use VCL Styles for Inno Setup (DLL) to style Inno Setup windows (including all modal dialogs).

As turned out, the reason was in the "Colors" option in Bitmap Designer, which I use to modify my installer style. This option makes some additional styling for controls:

Related

Inno Setup - How can I change the About dialog text?

Can I change the default text in the about dialog box? Overriding the AboutSetupMessage doesn't seem to do anything:
[Messages]
AboutSetupMenuItem=&About MyApp...
AboutSetupTitle=About MyApp
AboutSetupMessage={#MyAppPublisher} version {#MyAppVersion}%n{#MyCopyright}%nhome page:%n{#MyAppURL}
Doesn't seem to matter if I edit the default.isl or use a custom ISL either. The menu item and the title change, but not the message text.
Any ideas?
There's no AboutSetupMessage.
There's AboutSetupNote. It does not change the About box message though. It's appended to it.
There's no way to change the message.
For me the AboutSetupNote did not work on Inno Setup 5.6.1 Unicode, but the TranslatorNote did.
Alternatively try TranslatorNote. This one does not change the about box message but it will append to it which is the correct application of Inno Setup license.

How can I increase the width of a msgbox() in inno setup

Or should have to create my own message box? If so any sample code please
Ok, so it is not possible. I will have to do my own msgbox function.
Should I use a TForm, Tmemo or Tpannel?
How can I have the box hight auto adjustable?
If any one has some sample code I could just start with, I would appreciate.
Thanks
You cannot increase width of message box in Inno Setup.
You have to implement your own dialog.
Start with creating TForm (preferably using CreateCustomForm function), add TLabel to it along with few TButton's. Size all elements properly. At the end call TForm.ShowModal.
The code required is far too long to be asked for here. If you have specific problems, when implementing it, ask separate questions.
See few examples of building a custom form:
Custom Uninstall page (not MsgBox)
How can I show a "please wait" window while checking for prerequisites in my installer?
Displaying text from a file in an Inno installer with new lines

Choose a folder dialog for nsis

I have a problem with the skin that I am using for my nsis installer.
Is there a way to control to not apply skin to choose a folder dialog.
I am using Skincrafter plugin to apply this skin.
Generally if I load it after initializaiton, it applies to all pages/inner dialogs and child dialogs. I do not want Browse for a folder dialog to have a skin.
Can someone please provide any suggestions?
There is no way how to fix this from NSIS.
Asks the authors to add this feature for you or (if the sources are available) modify the it by yourself to fit your needs.
There are also some other skinning systems for NSIS - e.g. mine Graphical Installer (sorry for this little promo :) so you can try to use them.

How to skip the screen for Name/Organization in Inno Script installer

Inno Setup allows you to see a screen in which you are prompted to input your name and Organization.
How I can make my installer skip this screen?
To skip the Name and Organization input in InnoSetup script do the following:
UserInfoPage=no
Source: http://www.jrsoftware.org/ishelp/index.php?topic=setup_userinfopage
For that page to appear, your setup must have explicitly implemented the CheckSerial event function. If you remove that then the page will also disappear.

NSIS license page

Is there anyway you could resize the rich textbox in the license page of an NSIS installer?
Thanks...
there are several choices that affect the size a little bit, checkbox vs button etc
Switch to the Modern UI if you are not already using it
Copy and resize one of the dialogs in \Contrib\UIs with resource hacker and use ChangeUI in your script
Call GetWindowRect/ScreenToClient/SetWindowPos with the system plugin at runtime in the show callback function for the page

Resources