cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
ch029448
Level 4

Billboards in Installshield 2008 Premiere Edition v14 (Installscript MSI)

Dropped my bitmaps into the Support Files/Billboards "Language Independent" section

Properly named them: bbrd1.bmp - bbrd12.bmp

Added the following code to OnFirstUIBefore:
Enable( FULLWINDOWMODE );
Enable( BACKGROUND );
PlaceWindow(BILLBOARD, 10, 10, UPPER_LEFT);
PlaceWindow(STATUSEX, 20, 20, LOWER_RIGHT);
SetColor(BACKGROUND,RGB (58, 114, 175));

Compile with no problem, build with no problem, when I run my setup.exe, my billboards don't appear...I get a full green screen - all my dialogs appear, progress bar appears, but my images are not there...just a green full screen.

I tried moving the aforementioned code to OnBegin (purely out of experimental curiosity) - same green screen result.

Please help

***EDIT*** - after further testing / moved files from "Language Independent" section to "English" section - color changed from GREEN to BLUE, still not my images.
Labels (1)
0 Kudos

(5) Replies
ch029448
Level 4

If I am unable to resolve this issue through this forum, is there another source for explicit help on this? Perhaps another forum someone knows about?

It just seems odd to me that given the instructions from the Installshield 2008 help file, which I have followed, something as benign and superficial as displaying a few bmps during installation should be any more difficult than dropping the files in the allotted space (Support Files/Billboards) and dropping in a line of code to "turn them on" - Enable (BACKGROUND)

If found this question in the macrovision community pertaining to previous versions of Installshield and the popular answer seems to be to modify OnShowUI. Of course, modifying OnShowUI to uncomment this code...

if ( LoadStringFromStringTable( "TITLE_MAIN", szTitle ) < ISERR_SUCCESS ) then // Load the title string.
szTitle = IFX_SETUP_TITLE;
endif;
SetTitle( szTitle, 24, WHITE );
Enable( FULLWINDOWMODE );
Enable( BACKGROUND );
SetColor( BACKGROUND, RGB( 0, 128, 128 ) );


...is not "officially" supported in IS 2008...it's not even readily apparent as to how to get the EventsSetup.rul (file that contains OnShowUI) into your project.

Not sure why implementing something so cosmetic should be this convoluted...any redirection where I may find help on this issue will be appreciated
0 Kudos
RobertDickau
Flexera Alumni

I think OnShowUI is supported only for pure InstallScript, and not InstallScript MSI.

As a test, does it work if you use fewer billboards? Do any of the bitmaps work with PlaceBitmap (as a test---maybe it's a problem with the image)? I can't imagine why the background color would change, however.
0 Kudos
DLee65
Level 13

I had a similar problem once before but the problem was because someone *whistles innocently* accidentally renamed a .JPG file as a .BMP and thought this might work ... *blushes*
0 Kudos
ch029448
Level 4

I apologize for the misleading information regarding the background color. I had two snippets of code I was using and one had the different arguments in the SetColor function. That's fine, and I do apologize for the superfluous info.

Regarding the OnShowUI function. I admit that this issue maybe a function of me trying to jump from a very old old old version of IS (somewhere in the v5 - 7 era) to 2008. However, it is not readily apparent to me how I may override OnShowUI through my Installscript MSI project. I don't see a mechanism to access OnShowUI through the Installscript Viewer. I don't see any access to the "Advanced" event category. The only method I see to even get OnShowUI to show up in my is a hack - to copy EventsSetup.rul to my project's local scripts directory, "Insert Script Files" to add this rul file, then add a statement in Setup.rul to include SetupEvents.rul ... but even then OnShowUI is never called (just as a precautionary test, I threw some bogus message box code in OnShowUI to ensure that it wasn't executed, and it wasn't) - so I guess the gist of all that, Robert Dickau, is that, yeah, I believe you are correct when saying that OnShowUI isn't accessible through Installscript MSI.

However, back to the point, it says in Help that Billboards ARE accessible through Installscript and Installscript MSI.

BTW - just a side note....when opening IS 2008 and choosing NEW, I don't see an option for "pure Installscript" versus "Installscript MSI."

I just really need to get these billboards to work through my Installscript MSI project, as I have a Business Analyst breathing down my neck, placing (what I believe) way too much importance on these billboards.
0 Kudos
DLee65
Level 13

CH02,

You do NOT need access to OnShowUI function for InstallScript MSI. Initializing this using OnFirstUIBefore should work as well. OnShowUI is for standard InstallScript installations.

First check that you can open your BMP files using a viewer like IrfanView. If there are problems with the format then IrfanView will alert you.

Second, try using PlaceBitmap and check the return value from this. Debug from here using the return code. My guess it is going to return some type of false value and that there is some problem with the bitmaps. That is usually the case in these instances.

The other issue to consider is using 12 bitmaps ... either you have a very long installer or each bitmap will simply flash up and off. I would eliminate all but the first two bitmaps and debug from there. Make sure there is no break in the sequence of your number - from your earlier post it does not sound like there is.

As to project types, when you see the New Project wizard click on the InstallScript tab. You will notice the first item listed as "InstallScript Project". This is what we refer to as "pure" InstallScript or "Standard" InstallScript. This means that the InstallScript engine handles both the UI portion of setup and the Execute sequence of setup.

Now switch to the Windows Installer tab. The first item listed is the Basic MSI project - this does not have any InstallScript UI support built in. The Windows Installer handles both the UI and Execute sequence.

Now down below this (at least on my screen) is listed "InstallScript MSI Project". This is a hybrid between Basic MSI and InstallScript. It uses InstallScript for the UI portion of the setup and the execute sequence is handled by Windows Installer.
0 Kudos