Hide Inno Setup wizard small image - inno-setup

Is it possible to hide/remove/not show the small wizard image in top right corner:
I know there are WizardSmallImageFile and WizardSmallBitmapImage directives, but I can only set to a specific file, I can't set to none or something similar to tell compiler to not show any image there, at all.

Hide the WizardSmallBitmapImage control:
[Code]
procedure InitializeWizard();
begin
WizardForm.WizardSmallBitmapImage.Visible := False;
end;

Related

Display Splash Screen while running setup in silent or very silent mode

I want to run a setup but display nothing else but a splash screen. I am currently using the logic suggested in this answer
to run the setup in background:
How to make the silent installation by using Inno Setup?
However, I want to show a simple image during the installation that disappears once the setup is done. I think we can use the InitializeSetup and DeinitializeSetup functions, but I am not sure how.
After reading the question How to hide the splash screen in verysilent mode setup of Inno Setup using ISSI?, it seems like ISSI (Inno Setup Script Includes) has this sort of feature. But ISSI is unavailable for download since its website is dead.
Additionally I also tried answers suggested in this question Inno Setup - Transparent Splash Screen, but that seems to work only on InitializeWizard and not on InitializeSetup.
So, how can I run a background setup but only display a image (jpeg, png or gif)?
To display splash screen, just display the form and never hide it. Like this:
procedure InitializeWizard();
var
SplashForm: TSetupForm;
begin
if WizardSilent then
begin
SplashForm := CreateCustomForm;
SplashForm.BorderStyle := bsNone;
SplashForm.Position := poScreenCenter;
SplashForm.ClientWidth := ScaleX(500);
SplashForm.ClientHeight := ScaleY(350);
SplashForm.Show;
// Put some image/contents to the splash screen here
end;
end;
Though I'm not sure there's a way to hide the wizard in the silent mode. That might be a topic for a separate question.
Though actually, in the silent mode, you can turn the wizard itself into the splash screen by covering it with the image.

Change mouse cursor inside all of Inno Setup Controls

How to change the cursor while it is inside the Inno Setup's area on all controls when the wizard window shows up? I mean like a skin, when the Inno Setup is showing and available the skin is visible. So I mean when the mouse is inside the Inno Setup, it has its own design.
I tried to use this but I do not know where to invoke and using it:
procedure SetControlCursor(Control: TControl; Cursor: TCursor);
var
I: Integer;
begin
Control.Cursor := Cursor;
if Control is TWinControl then
begin
for I := 0 to TWinControl(Control).ControlCount - 1 do
begin
SetControlCursor(TWinControl(Control).Controls[I], Cursor);
end;
end;
end;
If you want to change a cursor of all controls on start, just call your SetControlCursor from InitializeWizard:
procedure InitializeWizard();
begin
SetControlCursor(WizardForm, crHourGlass);
end;
Though, I do not understand why would you want to do that.

Remove Windows Frame - Inno Setup

I have a background in my installer and i was wondering that it would be a good idea to remove the windows frame from it and kept only the background and the footer buttons.
It´s possible in Inno Setup to remove Windows frame from installer?
You can set the BorderStyle property of your WizardForm to bsNone to make it borderless. The best place to do so is the InitializeWizard event method:
procedure InitializeWizard;
begin
WizardForm.BorderStyle := bsNone;
end;

InnoSetup: How to remove horizontal lines from wizard pages

Is there a way to remove or hide the horizontal line controls from Innosetup wizard pages by code to give it a little more modern touch?
See example here:
Thank you!
The upper horizontal line highlighted in your screenshot is the WizardForm.Bevel1 component, whilst the bottom one is the WizardForm.Bevel component. To hide both, you can write a script like this:
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
[Code]
procedure InitializeWizard;
begin
WizardForm.Bevel.Visible := False;
WizardForm.Bevel1.Visible := False;
end;

Inno Setup - How can I put a message on the welcome page

Can I put a message on the Inno Setup Welcome page? I would like something like this
You can change the text of the welcome message by overriding the value on the [Messages] section:
[Messages]
WelcomeLabel2=This will install [name/ver] on your computer.%n%nIt is recommended that you close all other applications and disable any anti virus before continuing.
If you want to change the style (colour, size, etc) then you will need to create and position the controls individually in the InitializeWizard() event function.
#Deanna answer is the correct one.
Now, if you also want to change the font colour and format you can do:
[Messages]
WelcomeLabel2=This will install [name/ver] on your computer.%n%nIt is recommended that you close all other applications and disable any anti virus before continuing.
[Code]
procedure InitializeWizard();
begin
WizardForm.WelcomeLabel2.Font.Style := [fsBold]; //Bold
WizardForm.WelcomeLabel2.Font.Color := clRed; // And red colour
end;

Resources