Many developers who write applications for a Microsoft operating system know all too well of installation hazards. The possibility of introducing DLLs that are incompatible with existing DLLs, for example. Plus lots more things that could fail. Wilson starts off his book with a listing of what could traditionally go wrong in an installation.
Not to put too fine a point on it, but this was a wretched state of affairs. You typically had programming expertise in your particular field. But there should have been no a priori reason why this expertise should have to stretch to the installation process. Right?
Wilson gives an alternative. He details how you can use Windows Installer to install and uninstall your application. The process is still nontrivial, mind you. Which is why we have a book of this length. But it shows how, if you fit your application within WI's strictures, then the entire install is now much easier and safer.
Perhaps the single best advantage is that WI makes your install a transaction. Either it all works, or the install will fail and your system will be unaffected. Atomic. We have rollback ability.
Those of you familiar with SQL and transaction processing will recognise this. Wilson shows that WI is in fact based on SQL tables and relational processing. Some people at Microsoft made a nice design! By undergirding the installation with SQL tables. It lets WI have an inner coherent structure, into which third party applications can fit, in a disciplined way. Plus, it allows the panoply of SQL queries. At the right level, it is an elegant approach.
Much Better Than Bob Baker's Books
Rating: 4/5
The Windows Installer SDK documentation is bad. Quite bad. MS Press has no books on the subject. There are very vew books on the WIndows Installer in general.
Unfortunately the Windows Installer itself has a lot of tricky side-effects and esoterica that make it quite difficult to do anything even marginally complicated. This book is strictly on the MSI subsystem itself.
I like the book because it reveals literally secret details about the Windows Installer that until now could only be found in discussion groups. It solved a long-standing problem I had with an installation the first time I picked it up.
I had both (I threw one out after reading it) of Bob Baker's books on the Windows Installer and this book is far superior to either of his that bear on MSIs.
Not to put too fine a point on it, but this was a wretched state of affairs. You typically had programming expertise in your particular field. But there should have been no a priori reason why this expertise should have to stretch to the installation process. Right?
Wilson gives an alternative. He details how you can use Windows Installer to install and uninstall your application. The process is still nontrivial, mind you. Which is why we have a book of this length. But it shows how, if you fit your application within WI's strictures, then the entire install is now much easier and safer.
Perhaps the single best advantage is that WI makes your install a transaction. Either it all works, or the install will fail and your system will be unaffected. Atomic. We have rollback ability.
Those of you familiar with SQL and transaction processing will recognise this. Wilson shows that WI is in fact based on SQL tables and relational processing. Some people at Microsoft made a nice design! By undergirding the installation with SQL tables. It lets WI have an inner coherent structure, into which third party applications can fit, in a disciplined way. Plus, it allows the panoply of SQL queries. At the right level, it is an elegant approach.