views:

347

answers:

1

I started to write an Installer with Wix. I've spent several days reading blogs and studying tutorials. Last night I couldn't sleep, so I sat down in Fireworks and drew the folliwing picture. That's my understanding so far of how Windows Installer / Wix work. Is there anything wrong? Do you have any suggestion to complete this graph?

http://nestorsulikowski.com/index.php/2009/08/windows-installer-wix/

I'm happy to receive feedback and modify the diagram so that it's useful to more people. Thanks!

+1  A: 

Secondly, forget about WiX for now. Your concern is Windows Installer - WiX is simply a tool to define Windows Installer databases (MSI files). WiX is no different than many other products out there, except for the fact that it doesn't try to mask any Windows Installer concepts for you. InstallShield transparently does a bunch of things that Windows Installer doesn't support via custom actions and the like, WiX forces you to think more about the Windows Installer methodology and way of doing stuff. Windows Installer is what you want to understand, WiX comes afterwards.

Second, get a copy of The Definitive Guide to Windows Installer. This book is an invaluable resource for anyone looking to understand how Windows Installer (MSI) works. Firstly if you start with the first entry in the UAC in MSI blog posts and you should be able to get a better grip on things. Best thing I ever read in trying to understand the elevation, permissions, etc.

Third, start with the first entry in the UAC in MSI blog posts and you should be able to get a better grip on things. Best documentation I ever read in trying to understand elevation, permissions and all the other stuff that goes with UAC.

The image kind of makes sense, but I think think the UAC series describes the sequences a bit better. Very few people use administrative installs, and if your installer is written properly then there shouldn't be any reason to concern yourself with Advertised installations either. They'll just work. Build your installation to work with only the InstallExecuteSequence to begin with, and then add the UI later and you'll have a bulletproof installation that works without much effort.

sascha
Great info. Thanks.
Nestor
Happy to help! It's refreshing to see someone trying to understand Windows Installer properly. Far too many people writing MSI setups have absolutely no clue.
sascha
That's b/c writting the installer is not rewarding, like writting the app is. Anyways, I bought "The Definitive Guide to Windows Installer"... can't wait to dig into it.
Nestor
Writing setups can be extremely rewarding (and frustrating), especially when you're responsible for something that's being shipped to hundreds of thousands of customers and setup quality directly impacts the support team :)
sascha
I hear you. After a couple of stressful weeks (leaving software development to the side to get MSI and bootstrapping right) the setup is taking shape. I ended up writing my own bootstrapping, that check for updates over the Internet. BTW, what do you suggest for bootstrapping?
Nestor
Check out MSI Factory. It comes with an *awesome* bootstrapper (which can be used independently of the main app) even if you don't use the main app it'll probably work out cheaper than rolling your own. For real basic bootstrap, try 7zip.
sascha

related questions