We have built and used a tool internally that provides a wrapper over Wix in MSI/MSP generation for over two years. Spikesource is in the business of building and packaging a large number of open source components (in the hundreds) and integrating them into application infrastructure stacks. On windows each of these open source components (e.g. apache, tomcat, jboss, mysql etc) are packaged into MSI files. These components can later be updated through MSP or MSI, so making sure the MSIs are built with component GUID tracking is an important feature in the tool.
I wanted to send out a brief description of what the tool does (or intends to do, in some cases) and see if there would be interest in the Wix community for such a tool. We would like to open source our tool, if it would be useful to others. *Goal: * Make it extremely easy to build simple MSI based installers with built-in support for most common installation tasks. Support 80% of the typical installation tasks through a XML configuration file that does not require deep knowledge of windows installer technology. The tool will generate human readable and editable Wix source files, so for those 20% cases that are outside the scope of the tool, there should be enough Wix code generation to be a good starting point for customization. If this sounds interesting, please read on :) *Inputs:* (required ones, there will be a few additional optional ones) 1. Product name 2. Source directories (supports multiple sources) where the deployment files are 3. An XML document that specifies configuration information about MSI installation features. *Outputs: * 1. MSI or MSP (will have a few additional required inputs) 2. GUIDs ini file for tracking Component Rules 3. Wix Source Files that the user can edit for further customizations. *Installation Features Support: * 1. Create basic Windows Installers, with "WixUI_InstallDir" UI, i.e. wizard with Welcome, License Agreement, Installation Directory selection, Install Confirmation, Installation and Finish pages. 2. Branding support for customizing Start/Finish and Header banners. 3. MSP creation support - Pass the source paths to the previous and current versions of the product and in the configuration file identify the upgrade versioning info, the tool will generate temporary MSIs for each version and then merge them into an MSP using MsiMsp.exe 4. Package installation files from source directories with MSI Component GUID tracking support - Component GUID tracking is implemented by creating an entry in the ini file for each subdirectory traversed with a sub-directory path to GUID mapping the first time the tool is run for a product. This ini file should be under source control and subsequent MSI creation for the same product should make this ini file available to the tool. It will generate the MSI reading the GUIDs from the ini file. 5. Common Public MSI Property support - Create MSI properties for common public MSI properties such as ALLUSERS, ARPCOMMENTS, ARPREADME, ARPURLINFOABOUT etc based on configuration info provided. 6. Registry entry creation support - Create registry entries based on configuration info provided. 7. INI/Conf file generation support - Create ini file key-value pairs based on configuration info provided. 8. Shortcut creation support - Create short cuts based on configuration info provided. 9. Service Management support (install/uninstall/start/stop) 10. Custom Action support - callout to user defined executables, bat files etc at configurable points during installation sequence 11. COM DLL Registration support *Long Term:* Support UI code generation, possibly through a visual designer. The Wix source file generation is performed by substituting variables into Wix source templates, the values being extracted from the XML configuration file through XPath. The files source generation is by traversing the specified source directory, similar to tools like Tallow, but with Component GUID tracking. Currently the tool is built around the latest stable Wix 2.x build, this can later be upgraded to work with Wix 3.0 If the question is why another XML Schema to describe installation tasks on top of Wix, I see the Wix Schema as being a wrapper over MSI database tables and operations on them and requires the developer to know and understand the various tables, their columns and what the purpose of each of those are. The Schema in the tool, is more functional in nature, it captures the installation tasks the developer would like to perform through its elements and attributes and does not require the developer to know some of the windows installer complexities for simple installation scenarios. Sorry for the long post, if you have gotten here and feel such a tool would be useful to you, please let me know directly (no need to spam the list). I would like to gauge how much interest there would be, before I invest in the couple of weeks of work needed to get it to a point for general consumption. Thanks, -Sandip ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users