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

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;

Related

Hide Inno Setup wizard small image

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;

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.

How to hide the splash screen in verysilent mode setup of Inno Setup using ISSI?

I'm using ISSI (that is a 3rd party of Inno Setup) for the splash screen of my setup. But when I launch it in /VERYSILENT mode I still have the splash screen that it displayed.
I think the splash screen is displayed before the setup or something like that.
How to hide the splash screen please?
I'm using Jenkins to test the setup, so I must not have something that appears as a window or splash.
I searched all internet without finding an answer.
It does not look like ISSI supports such customization. But you can hack it like this:
[ISSI]
#define ISSI_SplashScreen_T "{code:GetSplashTime}"
[Code]
function GetSplashTime(Param: string): string;
begin
if WizardSilent then Result := '0'
else Result := '5';
end;
[ISSI]
Cleaner way would be to copy over the splash screen code from _issi.isi to your script.

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;

Resources