cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
William-Webb
Level 4

Changing dialog banners with InstallScript?

Hi all,

I know it's been posted a number of times but none of the solutions appear to work!

I need to change both the internal & external banners dynamically at run-time.

I've tried using "DialogSetInfo( DLG_INFO_ALTIMAGE, SUPPORTDIR ^ "test.bmp", TRUE );" but to no avail!

Any suggestions?

Thanks,
Will
Labels (1)
0 Kudos
(12) Replies
m_rudolph
Level 6

I could be wrong, but I thought the bitmap had to be named Alt.bmp.

You have the file in Support Files/Billboards I assume as well.
0 Kudos
William-Webb
Level 4

m.rudolph wrote:
I could be wrong, but I thought the bitmap had to be named Alt.bmp.

You have the file in Support Files/Billboards I assume as well.


I've put it in "Support Files > Language Independent" and it's still not working, problem is I need to be able to dynamically change this with a file found in the SourceDir...

Cheers,
Will
0 Kudos
RobertDickau
Flexera Alumni

Are you using SUPPORTDIR or SRCDIR (or SourceDir)? What type of project?
0 Kudos
William-Webb
Level 4

RobertDickau wrote:
Are you using SUPPORTDIR or SRCDIR (or SourceDir)? What type of project?


We need a 'dynamic' installer so our suppliers can re-brand our Installation without the need to re-build the whole installer.

At the moment the .bmp file for the external and internal banners are located in the SourceDir (DISK1), and gets copied to the SUPPORTDIR in OnBegin() and is used from there.


SdInit();

DialogSetInfo( DLG_INFO_ALTIMAGE, SUPPORTDIR ^ "test.bmp", TRUE );


Both SdInit() and DialogSetInfo() return success.

Our project is an InstallScript MSI.

I remember reading somewhere that it is not possible to change the internal (or possibly external) banners, we are more than happy to change the dialog layout to account for this!

Thanks,
Will
0 Kudos
RobertDickau
Flexera Alumni

As a test, perhaps place near the DialogSetInfo call a call such as:
LaunchAppAndWait("mspaint.exe", SUPPORTDIR^"test.bmp",
LAAW_OPTION_WAIT);

This will at least identify whether the file is where it's supposed to be at run time.

And correct, there's no built-in mechanism for changing the larger bitmaps on "exterior" dialog boxes.

P.S. There's no requirement that the bitmap has to be in SUPPORTDIR, so the copy step might be unnecessary...
0 Kudos
William-Webb
Level 4

Paint launches correctly and opens the .bmp fine.

Any other suggestions?

I'm really confused with this, i'm in uncharted waters here! 😮
0 Kudos
RobertDickau
Flexera Alumni

In what way does it fail at run time? In the interior dialog boxes (SdCustomerInformation, for example), does the banner appear as blank white space, or is the default banner still there?

Did you say that it still doesn't work if you place the bitmap directly in the regular Support Files area (as opposed to Disk 1 and later moving the bitmap file)?
0 Kudos
William-Webb
Level 4

RobertDickau wrote:
In what way does it fail at run time? In the interior dialog boxes (SdCustomerInformation, for example), does the banner appear as blank white space, or is the default banner still there?

Did you say that it still doesn't work if you place the bitmap directly in the regular Support Files area (as opposed to Disk 1 and later moving the bitmap file)?


The existing banner is displayed at run time, not the "dynamic" one placed within the SourceDir.

I've also tried adding the banner to the Support Files > Language Independant section and it still wont display..

I'm rappidly running out of idea's! 😞

The person who had the "honor" of creating the Installers before me changed the default IS banner to one of our own, could this be messing it up?

Thanks,
Will
0 Kudos
William-Webb
Level 4

Is this correct?

Thanks,
Will
0 Kudos
RobertDickau
Flexera Alumni

Okay, yes, that's probably it; as a test, does it work if you place your bitmap and code in a new InstallScript MSI project?

Normally, the control that can be changed by DialogSetInfo has some special identifiers and attributes behind it. The antique KB article Q100120 gives a taste of it, and looking at the controls on a new project will show specifics.
0 Kudos
William-Webb
Level 4

RobertDickau wrote:
Okay, yes, that's probably it; as a test, does it work if you place your bitmap and code in a new InstallScript MSI project?

Normally, the control that can be changed by DialogSetInfo has some special identifiers and attributes behind it. The antique KB article Q100120 gives a taste of it, and looking at the controls on a new project will show specifics.


Robert you are a saint! 😄

For anyone else who encounters this issue, ensure than your control has an ID of 1200 and this will work fine! :rolleyes:

Cheers!
Will
0 Kudos
mayurbirari
Level 5

Hey thanks.
That worked for me!!
0 Kudos