Adventures of a Setup Developer

my musings about setups and other things in my life

  Home  |   Contact  |   Syndication    |   Login
  30 Posts | 1 Stories | 11 Comments | 105 Trackbacks

News

Article Categories

Archives

Post Categories

General

Regular Reads

Tools

I have finally got my computer to my new house in Bangalore. I dont have access to the internet, so I will essentially by offline. I am yet to install SharpDevelop and .NET Framework SDK v1.1. Hopefully, I should be able to get it done today. I had some time today morning but I was too busy playing NFS Hot Pursuit 2 and Quake 3. (No real souls to frag. Only bots. )

Currently one of our installation packages does something that it should not be doing. It is handling configuration data for several applications. Clearly this created several issues during upgrades. Now, for the next schedule major release, we (the packaging team) decided that we would let the applications handle the configuration information. This was duly presented as a proposal to other "application development" teams in a meeting. The people were a little hot under the collar during the meeting. Other development groups suspected that we were doing this to brush off our responsibility. I am sure that other setup developers would also have faced such similar predicament.

I was recently browsing through the InstallShield Community forums and found that mosth setup developers were invariably including configuration data as a part of their installation. I even saw one post where a setup developer had used a VBScript custom action with the FileSystemObject and tried to replace certain place holder texts in the installed configuration file. I am sure that many of us, who have burnt their fingers with VBScript and FSO, would agree with me. Logically speaking, there is nothing wrong with this approach. But we have to realize that we are introducing a element that can go wrong. Having deferred VBScript custom actions with FSO is a lot of fun while debugging.

My recommended approach would be to have a small configurator utility, which would accept command line parameters and perform the same tasks. This serves two purposes.

  1. The configuration data is effectively taken out of the MSI. You can avoid slicing and dicing the CustomActionData property to get the desired values. There is one element less in the project that can go wrong.
  2. The user need not run the installation, if he has specified incorrect configuration. He has the option of configuring the software after installing it. While installing on locked down environments, the setup author has to ensure that the permissions table is authored such that the current user has no problems writing on the the specified resources. This should'nt be a problem for registry keys or folders as their permission tokens can always be altered by the installer.

Finally, Riko is back. It seems that he is going to submit his tallow source to the community. I can't wait to get my hands on it.

posted on Wednesday, December 29, 2004 5:16 PM

Feedback

# re: Configuration Data is such a Pain 1/4/2005 10:33 AM Christopher Painter
I think I know which thread on Community you are talking about. VBScript custom actions are certainly insane. Sometimes it makes you wonder what Microsoft was thinking.

Where I am working we are slowly progressing towards a real locked down environment. We are extending our ActiveDirectory schema to store application configuration settings that will cascade down through OU's and computer objects. A central management tool will set everything up and the installs when running silent will perform LDAP queries to get their settings. Then a machine startup script will also check for setting changes and apply them with SYSTEM credentials. Basically we will be so locked down that we won't even have a utility for the user to change his own settings since he won't need to be.

Post Feedback

Title:
Name:
Email: (never displayed)
Url:
Comments: 
Please add 6 and 7 and type the answer here: