InstallShield Skins… not quite ready for prime time

Installshield X ships with a handful of “skins” for their dialogs. You have blue, slate, monochrome (very sci-fi looking), true color blue, olive, midnight and my personal favorite: “NONE”.

 

Why is this one my favorite? Well it’s true the others look fairly cool, but they don’t work with custom dialogs (even the same size and layout) and they don’t even work reliably with the shipped dialogs. Just recently, I ran into a problem where I set my dialog skins to “true color blue” and rebuilt the install. I admit it was curiosity that drove me to it, but I paid the price. Once I saw it, and decided I didn’t like it, I switched back to “NONE” and rebuilt. Imagine my surprise to discover that the Install Status dialog (aka STATUSEX) had decided it liked being skinned and absolutely was not going to give it up, even though the other dialogs were being nice and compliant. Panic ensues…

 

I muck around for a bit, try applying different skins, building, removing, rebuilding ad nauseam only to discover that STATUSEX gets stuck with the last skin applied, no matter which skin. I simply could NOT get it to go back to the default of “NONE”. Not one to give up without a fight, I tried a different approach… I deleted my project (bless you sourcesafe) and uninstalled InstallShield X. Deleted any leftover files, poked around the registry, etc… reinstalled IS-X… ultimately to NO AVAIL.  You read that right… NO LUCK!  That damn STATUSEX dialog was still BLUE (or green, whatever).

 

I scoured the InstallShield “community” and found a number of posts relevant to my problem. My joy quickly turned to despair when I discovered that none of them had been answered. Ok, not entirely true. A couple had answers that were vague or unrelated to the problem, and there were some “I wanna know too” replies, but I don’t count those. (Keep in mind boys and girls, this isn’t paid support. It’s USERS ignoring USERS…)

 

Giving up there, I started digging around in my bag o’ tricks (i.e. I read the Help File… shhh!) and found this:

 

Disable(USE_LOADED_SKIN);

 

This is NOT a solution, but it fixed my problem. This command suppresses any applied skins and can be used anywhere in the script. I use it just before the call to STATUSEX and it works just peachy, but come on now… I shouldn’t have to do this at all.  And don’t tell me my IS-X install was corrupted, I uninstalled it TWICE! *sigh*

 

Anyway, the moral of this story is that there is a way to circumvent the problem. Now it’s up to IS to actually SOLVE the problem.

Tinggalkan komentar