17. December 2013 15:33
Although I've worked with the Windows Installer XML (WiX) Toolset for several years, one of the most time consuming tasks is designing custom dialogs for an installer. This has mainly been because there hasn't really been a usable designer available, and it is further complicated by the fact that dialog layouts have to be described in terms of installer units instead of pixels in Windows installer. See MSDN (http://msdn.microsoft.com/en-us/library/windows/desktop/aa369490(v=vs.85).aspx) for more info on installer units. So the usual technique is to edit the XML by hand, re-compile and run the installer up to that point, which takes a couple of minutes each time, even longer if the dialog happens to be part of the uninstall sequence.
Enter SharpDevelop. It has a WiX dialog designer which runs rings around the designer I used to work with in Wise Installer 6. Microsoft could actually take a few tips from SharpDevelop in terms of their Windows Forms designer and Visual Studio in general – I was very pleasantly surprised to find that it could open a Visual Studio WiX project without problem and manipulate the dialogs without butchering the XML code. It can even work with single files outside of a project. It isn't perfect, and I did find that some properties don't get properly persisted by the designer, but within the limitations of the installer environment, it works really well. Instead of trying to create some completely custom designer as most installers tools do (and end up with something ultra-fiddly and unreliable), it translates the coordinates and visualizes the dialog as a Windows Form, which is an environment actually intended to work with a designer. Simple and effective.
I'm not about to dump Visual Studio for SharpDevelop, but if you need to work with WiX dialogs at all, I'd suggest that the designer in SharpDevelop is a much more productive way to get the job done.