My family is out of town visiting relatives in celebration of the good news we received: another clean CT scan! That makes 2 1/2 years since her last surgery and that's a very good thing. I really wish I could have gone with her but next week I'll be giving a WiX training session to about a dozen developers.
So being home all alone I decided to put some pen to paper ( metaphorically ) and knock out a features for IsWiX.
Document Directory MRU: IsWiX now remembers the directory of the last document you accessed and uses it as the default location for the file dialogs. This wasn't a critical feature to me since I normally launch IsWiX via Votive but someone at work pointed this out to me as a nice to have feature so I took care of it.
Window Size / Location: IsWiX now remembers the window size and location. I noticed at work that most developers were repeatedly resizing their windows which didn't seem very fun:
Custom Tables Designer: I've started work on a new designer for defining and populating custom tables. It's only a stub at this point and thus I've set the IFireworksDesigner::IsValidContext() method to return false to hide it. Still, the assembly is getting built and deployed for future use. ( I love Agile Setup Driven Development! )
Properties Designer: I've created a new designer for defining Properties. It's a straight forward DataGridView/DataSet that authors and sorts the Property elements after Dependency elements if they exist otherwise after the Package element. It also supports the ModularizationSuppress, Admin, Hidden and Secure attributes.
I've also made another observation: InstallShield 2010LE can consume Setup Prerequisites and Merge Modules. It's restricted from doing other things like consume C++ DLL CA's and execute SQL scripts but with a little creative authoring of merge modules, WiX can easily inject those abilities. Bottom line? I now have a pretty decent platform for authoring small yet complex installers including bootstrapping, chaining, websites, sql, services, xml updates, and custom actions. The draw back is pretty limited customization of the UI and the restriction of only supporting 1 feature per install. Can anyone say micropackage?