I’ve been snowed under for the last four weeks, working on the FogBUGZ 3.0 Setup program.

For various reasons none of the commercial setup toolkits (Wise, InstallShield, Windows Installer) could do even 25% of what our setup program needed to do, so I ended up writing it from scratch. VC++ and MFC all the way. It took longer than I expected because I had this weird conviction that the entire setup process should be completely reversable, and as you go backwards through the wizard it should automatically and silently undo any changes it had already made. So even if you’re looking at the last screen, if you decide you want to change where to extract the files, you can just back up and change it and everything moves and all the old files you overwrote are put back and all the Windows accounts you created are uncreated and all the permissions we granted are ungranted and the SQL database you made is unmade and so on. The end result is a great setup program, but it may be a tad overkill. If I have time I’ll write more about what I learned.
One benefit of writing a setup program from scratch is that I don’t have to have someone else’s stupid cartoon-of-a-computer-and-floppy-disks in the upper right hand corner. I used a photograph of the London Skyline, currently infested with cranes. I took the picture from the cafe at the Tate Modern.
FogBUGZ 3.0 Setup

About the author.

I'm Joel Spolsky, co-founder of Trello and Fog Creek Software, and CEO of Stack Overflow. More about me.