Geeks With Blogs
Adventures of a Setup Developer my musings about setups and other things in my life

A little earlier, Chris had put this comment on my blog about Using The WIX Toolset for Distributed Development.

Firstly, I believe that Chris and I belong to different breeds of setup engineers. Chris uses tools like AdminStudio, DevStudio and Repackager to repackage setups and distribute them via SMS, Active Directory or other Change and Configuration management applications. This breed is often known as a packaging engineer. They have to often deal with hideous packages which move all sort of cryptic resources and perform changes on the system. Oh.. dont you hate repacking a setup while on a tight deadline when a custom configuration is performed on the target machine by the setup "script" which depends on the machine state/user input/configuration/location and data being moved?

I belong to a breed of setup engineers who are fortunate enough to design such hideous logic. We don't have to deal with black boxes of setup and try to figure out what is being installed. But we have a challenge of a different sort. We need to ensure that the setup runs without a problem on all configurations supported by the application itself. We are called Setup Developers. The setup developers have to take care of several criteria like the media size, privileges, future upgrades and design a fool proof system that is probably going to get upgraded and maintained for 3-4 years. And believe me, we do not have such a busy release schedule as InstallShield's. By the time we release a support package (which is usually a big patch), we forget what we put in the previous package. Hence we stay away from configuration specific tasks as far as possible. Maintaining such application/configuration data during the entire lifecycle of the product is quite a challenge.

Setup Developers are often found in packs. :-) Usually, more than one developer works on a setup package. My blog entry about using the WIX toolset for Distributed development is a real life scenario. So our efforts are that we create setups which can easily be deployed over a diaspora of machine configurations. If the setup fails then customer does not get a chance to find out the amazing bugs which the application developers put in to the product.

Posted on Thursday, January 6, 2005 12:12 PM Setup | Back to top

Comments on this post: Breeds of Setup Engineers

# re: Breeds of Setup Engineers
Requesting Gravatar...
I wouldn't be so quick to make that distinction. :-) ( Intentional smiley, no thin skin here. )

(Begin boring BIO )

InstallShield and I don't see eye to eye on what repackaging is versus what setup development is. Prior to moving to TX and joining ( ok really becoming, there are only a few of us and the others seem to have gotten sucked into other directions ) I was on a very large client server development project for a military client. Over the years on the project I've been everything from the guy that travels to deploy the system, to being on a level-3 sysadmin team, to becoming a full fledged developer and eventually being the CM Nazi. Somewhere in there ( about 1997 or so ) someone handed me a copy of InstallShield 3 and InstallShield 5 and said "We need a new install that doesn't suck."

My role as "install boy" quickly turned into heading up a client side integration team. Soon I found myself picking apart not only our developers code but also all of our various vendors products aswell. Back then before AdminStudio, before IAR ( InstallShield Application Repackager ) I used InCtrl 3.0 and notepad. With alot of detective work, integration work and banging a few developers heads against the wall to make them change their designs, I made a Bulletproof installation package that saw its way to about 20,000 machines worldwide 4-6 times a year for about 7 years. And these machines weren't all in some managed environment. They were everything under the sun.

No where during my 7 years on that project ( with well over 100 developers ) did I ever have one single developer come to me and offer to help on the install. It was usually like pulling teeth just to get requirements from them. They loved to develop new modules offline out of the reach of CM and then suddenly want to add all the archives to PVCS with no thought of the integration aspects. The CM would come to me and say so and so just checked in this new program you need to update the install.

What does all this have to do with Package Engineer vs Setup Developer? My point is I'm really doing the same thing today as I was then. I turn black boxes into white boxes. Then I smash them into a million peices and rebuild them into real installs. Faster, Stronger... ( Play Six Million Dollar Man music here. )

To me the only real difference is now instead of working for a development shop, I report to a Systems Engineering shop. But the engineers don't know anything about Setup Development so they give me free reign.

Judging from how InstallShield defines repackaging, I don't think this is the norm so otherwise I think Vagmi's conclusion about me would be correct. But I have way too many years under my belt as both a developer and a Setup Developer to sink to the level of "repackager".
Left by Christopher Painter on Jan 07, 2005 7:16 AM

# re: Breeds of Setup Engineers
Requesting Gravatar...
Person using repackager cannot definitely come to terms with what it does without the knowledge of
- msi editor(Eg: DevStudio)
- windows installer
- programming (scripting)
- components and features
- deployment of application (AD,SMS)
- conflicts that may arise from projects installed on various platforms

Its difficult for a newbie to catch hold of what the technology can do and would spend their time figuring that out.
On the other hand when you are given freedom to do anything you can do with a given set of files and make it work. that even a newbie can pick it up from the start in with msi creation tools. Add the files to the project, build and your package is ready. Altogether they are called as release engineers and not setup developer/repackager.
Left by Balaji on Jan 20, 2005 10:42 AM

# re: Breeds of Setup Engineers
Requesting Gravatar...
I guess I get too caught up with work to be noticing what the industry labels different roles. Sometimes I peak around and it's always interesting to me to hear the different terms. I guess my super generic stereotype of the roles would be:

1) Developer who get's stuck with writing the setup
2) A group of developers who colloborate as a team to write the setup ( I havn't personally seen this but Vagmi says it exists so I believe him! )
3) CM team who ends up doing setup as part of the build / release process
4) Setup Developer who specializes in the field

1) SysAdmins who think they can run the wizard and be done
2) Developers lured over to the dark side to get the jobs done that the SysAdmins couldn't

Am I missing any?
Left by Christopher Painter on Feb 19, 2005 10:03 PM

# re: Breeds of Setup Engineers
Requesting Gravatar...
fight the good fight :- D. thin or thick skin, I guess I was averted , now back on track
Left by Balaji on Feb 22, 2005 8:37 AM

# re: Breeds of Setup Engineers
Requesting Gravatar...
You forgot about my breed, the hybrid. In my role I have to do both and also have to be able to train people to do both. It is definitely a different set of thinking when repackaging vs. developing an install. I have to use a completely different approach when doing one task vs. the other.
Left by AJ Shurts on Apr 11, 2005 11:56 AM

Your comment:
 (will show your gravatar)

Copyright © Vagmi Mudumbai | Powered by: