Geeks With Blogs


Google My Blog

Catch me at: The List!

My InstallScript Utility Belt My Amazon Wishlist
My Standard Disclaimer

Chris G. Williams Beware: I mix tech and personal interests here. Installshield My wishlist of things I think Installshield should address. Most are fairly minor, but would make my life easier as a developer. Some are more serious.
Installation Fun w/ InstallShield and ASP.NET (1.1 & 2.0)
The Problem: Recently, I ran across a situation where we have an ASP.NET 1.1 app that we were installing onto a machine with the 2.0 .NET Framework already installed. When the virtual directory was created by the install, all the "non-application specific" file extensions were mapped to the 2.0 isapi.dll file. However, the "application specific" ones were mapped to the 1.1 isapi.dll. So, when I tried to hit the site the first time, a lot of stuff was screwed up. Going into IIS and remapping everything ......

Posted On Wednesday, December 28, 2005 6:29 AM

Charleston, SC Code Camp

Coming to Charleston, SC this September 17th...


More info to follow at , although if you're interested in volunteering or speaking, contact me!


Posted On Tuesday, May 31, 2005 12:28 PM

Installshield versus the volcano
As many of you know, I've been using InstallShield a lot at work. For the most part, I really like it although it's not without it's share of issues. Recently, someone asked me why specifically I use InstallShield as opposed to Visual Studio .NET. Since I'm creating MSI installs, sure the InstallScript is nice but is there anything that I couldn't do in VS with VB and VBScript? Not having a great answer to the question, I decided it would only be fair to find out. So having said that, I'm going to ......

Posted On Friday, May 13, 2005 10:06 AM

Good News for .NET Developers
well... .NET Developers who use InstallShield at least. Remember my wishlist? I just got word from Bob Corrigan (InstallShield Product Manager) that #4 is being worked on! What's #4 you ask? 4. Please allow me to call .NET DLLs from InstallScript and retrieve a value from whatever function method I call. Currently I can only call C and COM+ DLLs. If I absolutely have to call my .NET DLL during the install, I have to either a) register it as COM+ (which I never got working quite right) or b) write ......

Posted On Friday, April 15, 2005 6:02 PM

InstallShield Utility Belt updated
In addition to the handy stuff in my InstallShield utility belt, here's another VERY useful script, although this one should go in your Setup.rul file: function OnResumeUIBefore() STRING szMsg; NUMBER nResult;begin // change the interior-dialog banner DialogSetInfo(DLG_INFO_ALTI... SUPPORTDIR ^ "newbanner.bmp", TRUE); Dlg_Start: nResult = SdWelcome( "Upgrading your product", "The InstallShield Wizard will now upgrade your existing your product installation." ); if (nResult = BACK) goto Dlg_Start; ......

Posted On Friday, April 15, 2005 4:47 PM

InstallShield Skins continued...
So... I've also been researching creating custom skins. So far I haven't had any real luck with that. InstallShield X (IS-X) ships with a handful of predefined skins. There is NO mechanism for discovery of new skins in IS-X. If you want to create a new skin, you actually have to manually alter one of the existing ready-made ones. There are a load of problems with the support for custom skins in IS-X. The biggest problem is that there ISN'T ANY SUPPORT! People who rely on the “community” ......

Posted On Monday, April 4, 2005 12:52 PM

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 ......

Posted On Monday, April 4, 2005 12:45 PM

ok... so which build relates to which service pack and hotfix again??

When you're working on an install, and you need to check for a specific version or Service Pack of SQL Server 2000, chances are you'll find this page very useful:

I certainly did this morning.

Posted On Monday, April 4, 2005 10:52 AM

Installshield Custom Skins
My “never-ending“ crazy install project is finally nearing completion, and the time has come to create a custom skin. 1st - grab the IS X Skin Customization Kit: http://support.installshiel... hmmm... It appears that dialog images are measured in “dialog units” instead of pixels. There is no obvious correlation between the two. Also, according to Ritesh from InstallShield, if I want to remove the InstallShield logo from my dialogs... ......

Posted On Friday, April 1, 2005 11:28 AM

InstallShield Utility Belt, revisited
I've received a few emails recently regarding the “InstallShield Utility Belt” (full of various InstallScript tidbits) I blogged a while ago. Since apparently a few people are finding it useful, I've copied it out to an article and put a link to it on my main blog page. This way I can update it as I come up with more stuff. Enjoy, and thanks for the positive feedback! Also, if anyone wants to send me any InstallScript code that they find useful, please do so. I can't guarantee I'll add ......

Posted On Thursday, March 31, 2005 12:21 PM

my Installshield "utility belt"
This is a little collection of routines I've written to make my life easier when using InstallShield. Use at your own risk. Modify to your heart's content. No warranties expressed or implied. Etc... ///////////////////////////... File Name: UsefulScripts.rul// Description: Reusable Installshield Scripts // Comments: Scripts that may prove to be handy in other installs// would go in this file. // ///////////////////////////... ......

Posted On Friday, March 11, 2005 4:08 PM

Installshield Wishlist Item #12

12. In InstallScript, STRING variables can be up to 65535 characters in length, but String Literals are limited to 255 characters. This means I have to spoon feed long strings into a variable, so many characters at a time.

Please change this.

Posted On Wednesday, February 16, 2005 9:21 AM

Installshield Wishlist Item #11
11. If I have a function in InstallScript that accepts a STRING by reference, let me pass in (and get back) a value from a STRING array. Where ReadKey is my function and the 4th parameter accepts a STRING ByRef...STRING szWebConfigKey(20); ...ReadKey(ISMSI_HANDLE, szInstallDir, "szWebConfigKey(6)); This throws an error at compile time. So I have to do this instead...STRING szWebConfigKey(20), szTemp;...ReadKey(ISMSI_HAN... szInstallDir, "szTemp);szWebConfigKey(6) = szTemp; I can do this in VB.NET ......

Posted On Thursday, February 10, 2005 9:42 AM

Installshield Wishlist Item #10
ok this is a two-parter... 10.a we need OPTIONAL parameters when creating InstallScript functions. 10.b. we need to be able to pass a param to an InstallScript function from a Custom Action. Why, you ask? Well... either would suffice. If I could supply a default value to an OPTIONAL param in an IS function, then I could (in theory) call it from a Custom Action (which currently doesn't support passing params to IS functions). Is there a workaround? Well yes, of course... I just write a wrapper function ......

Posted On Thursday, February 3, 2005 1:32 PM

re: InstallShield Wishlist Item #9
Ok, the reason #9 didn't make any sense to me was because I had it wrong... sorta. (It's 1:43pm on 2/1/2005 for those of you keeping track!!) original post here: http://www.geekswithblogs.n... You can control the max input on an edit field, simply by sizing the edit field to the size you want. But... let's be honest this isn't always (ever?) practical. And if you want any uniformtity in the appearance of your UI, it's just not an option. You can set a flag via ......

Posted On Tuesday, February 1, 2005 1:45 PM

Installshield Wishlist Item #9

9. Why can't I edit the max length of an edit field (textbox) in an InstallScript or InstallScript MSI project? I can do it in a regular Windows Installer project. This makes NO sense!

Posted On Tuesday, February 1, 2005 9:26 AM

Installshield Wishlist Item #8
8. Please make an easy way (provide functions) to do these 3 things via InstallScript: a. Detect an existing Virtual Directory b. Create a new Virtual Directory c. Delete an existing Virtual Directory Via InstallScript is the key phrase here. I know you can do it in the Installation Designer. It's important to realize that there are currently ways to do 2 of these, but they are a royal pain. Even moreso because you have to do some of them differently in XP and Server 2003. (I know that isn't your ......

Posted On Wednesday, January 26, 2005 12:59 PM

Installshield Wishlist Item #7

#7  Please please please give me an easy to use dialog that has a drop-down list control in it.  As it stands right now, I have to write entirely too much code to do this via the EzDefineDialog. Just give me a simple dialog that I can pass a variable of type LIST into.


Posted On Monday, January 17, 2005 3:37 PM

Singing the Installshield Blues
I've been spending a lot of time working with Installshield X (yes I know there's a newer version) lately and I'm pretty frustrated. I wrote some pretty cool install helper functions in VB.NET and bundled them all up into a .dll. According to InstallShield, I should be able to call functions exposed in this dll in my InstallScript. Well yeah, sorta. The problem is, InstallShield only really supports this in two ways. The first way is great if you're using a C/C++ dll. Just prototype the functions ......

Posted On Wednesday, December 15, 2004 1:14 PM

I know they're reading this...
My InstallShield Wishlist for 2005 Please allow me to associate a component to more than one feature and provide different Destination Paths for each. Currently I have to create a new component with a different name for each feature I need to add it to (if I want different destination paths). This is horribly inefficient. Please allow me to programmatically disable (NOT HIDE) a feature via InstallScript. Currently InstallScript can only hide features, not simply disable them, but I want my users ......

Posted On Tuesday, January 4, 2005 2:02 PM

Copyright © Chris G. Williams | Powered by: