Thursday, July 31, 2008

InstallShield and User Logon Information

I started working on a post that describes how to create a custom dialog in InstallShield. It will be a big post, so rather than wait for it to be done, I thought I would post some of the smaller items that I wanted to.

If you want to collect user information, InstallShield provides a standard dialog for this. It is called SdLogonUserInformation. It is a great dialog because it is tied into the system's users and the domain. So, you can use it to select a domain user or create one (if you have privileges). I have used it twice to create a user for special purposes. Once was for an identity for a COM+ object and the other for a user to run a Windows Service. This way, the person running the InstallShield can select or create a user during installation for these purposes.

In older versions of InstallShield (pre 2008), this dialog had a flaw. If it was run in an environment that had a lot of active directory entries (15k+) on the active directory server and the user clicked the browse button for the domain, the InstallShield would crash. I had the opportunity to work with Macrovision (now Acresso) on this to get it fixed for 2008. So these days it handles this situation just fine.

If you use that dialog, do not forget to call OnLogonUserSetMsiProperties() in your script after you show the dialog. Otherwise your information doesn't get propagated to the system. If you don't use this, your service install will fail because of invalid credentials or something like that.

Another item about users. Don't use the above dialog for simple users like SQL users. If you install a database and want to use SQL authentication (common for webserver connections to the database), then you need a non-system user. Unfortunately, InstallShield does not have a simple username/password dialog with the password box obscured. So, in a later post I will use that as an example of how to create a custom dialog.

Wednesday, July 30, 2008

Frustrations with InstallShield

I think I have a purpose to work towards for my next post or so. I have been working on a project using InstallShield and have learned some things. Some of them turned out harder than I thought they should be. So, I am going to write about some of my discoveries. I actually started typing them as my next post, but I realized they are going to take some time. So, I will post this "Post Of Intent" first and then post the others as I can.

The topics I have so far include creating a custom InstallShield dialog, discussing issues with conditionally installing web files, and an interesting glitch passing data to a .NET dll.

I suppose this information is available elsewhere, but as it says above, these posts are mostly for me.

Let's Get Started

Am I jumping on the band wagon? Am I venting? Am I sharing wisdom to the rest of the world? Am I extending my memory?

I don't know yet. A combination of events inspired me to start a blog. I am not sure how much history to cover. I'm getting old and there is too much to type. So, for now we will start with today.

I tried to get yevi.blogspot.com, but it was taken. That was a bit of a bummer. But Yevgenia had it first and had it since 2004, so, not much I can do about that.

My initial template is pink. There's a story there. The highlights are:
1. I'm a man.
2. Purple is my favorite color.
3. I have three daughters.
4. I played a gnome mage in World of Warcraft with pink hair.
The rest is sort of history. It would not have really worked for me if any of the above were not the case, but it sort of grew on me. Plus I like the shock value. Some sort of rule that straight guys don't do pink unless they wore it with gray slacks in the 80's.

BTW, I suck at diaries/journals. So, don't be surprised if you read this and nothing more.