tags:

views:

95

answers:

3

My boss has requested I build a Win Installer MSI using WIX. He has given me 2 days based on the fact that the PA in the group says it is easy to use WIX (He made an installer in about 2 months). Now for the fun part, the application deploys 4000 files to 14,000 locations, has custom actions, and installs 25 services. Files go to the C drive as well as the D drive. I have used WIX for about 8 hours and do not really know the design of this application... but that is another problem... I am new to the group.

+8  A: 

Do you understand the Windows Installer (aka: MSI)? If not, then the bulk of your time will be learning MSI. After that, heat.exe can help get your authoring generated pretty quickly. The services will take some time and the custom actions could be simple or complex depending on their complexity.

I'd want at least two weeks dev time to do it... but I know the Windows Installer (and WiX) pretty well. ;) If the custom actions are at all complex I'd want 4 - 8 weeks.

Rob Mensching
+4  A: 

Your development organization clearly doesn't understand the complexity or best practices of writing installers. I had 7 years of setup under my belt before I started using MSI and it took me 6 months to really get comfortable with out MSI worked and a full year to fully "get it". If it was me I'd first attack this whole concept of you deploying files to both the C: and D: drive and why you have all these custom actions. This is screaming antipattern. I'd want to verify the need for each custom action and understand the reason behind this whole C: and D: thing.

Personally, my gut tells me that for what you are doing you don't really want an MSI installer; you just want a .BAT file or similar.

So basically, you've been sent on a suicide mission and I wish you luck.

Christopher Painter
+2  A: 

I completely agree with both Chris and Rob here, getting upto speed on MSI will likely take at least 6 months if you're new to setup. On the plus side, you're new to setup and won't have the same preconceptions and can start using best-practices from day one ;)

Windows Installer (and the Windows Installer API) is very powerful tool. Embarking on WiX without learning the MSI fundamentals is as Chris said, a suicide mission.

If you still insist... here's a list of resources I recently assembled for a new setup developer that provide a baseline understanding for someone completely new to windows development or setup

Timewise, I'd agree with Rob. 2-4 weeks.. if the CA's are complex and required, then much longer (although most of that time would be pushing back with development and removing the need for them in the first place ideally)

sascha
how about when you add CI to the mix? I'm just starting out with WiX and need to get it to work with TeamCity, but for now, I'm just going to start with getting a WiX project to create an installer for my application before I head down the CI route.
Dave
Just write your build script using Nant (awesome WiX support) and then easily plug that into whatever CI tool you're using :)
sascha