One of the teams in our company has it's own script for creating the WiX fragment for a large set of files. It doesn't use heat or tallow, it creates everything itself. The start of the file is always the same, as is the end. It's only the XML under the top directory that ever changes. The script traverses a directory and create either a new directory element, or a new component with a file element, depending on what it finds. One of the parameters to the script is a file containing a list of file paths and GUIDs. When a file is found whilst traversing the directory, the script checks the list of known files for an existing GUID. If it exists it uses that GUID, otherwise it creates a new GUID and creates a new entry for the file. Obviously the file->GUID list is quite important, so this is kept in source control. As a backup we have RemoveExistingProducts scheduled early in the install sequence. I have also rammed home many times that if they get the file->GUID stuff wrong they're going to screw the install. No, I can't fix it, you'll have to ask the user to manually uninstall the old version first.
Rob Dyson, Peter wrote: > > After receiving emails from people on this subject asking about our > process, I will reply to all publicly here. > > Unfortunatly my employer 'owns' the code, getting OS in the door is hard > enough, getting it out is not an option I am afraid. > > However for those interested the general methodology used is as follows. > > Each file has an XML file which describes it, how it gets installed and > any required params which cannot be auto harvested. It also lists what > products this file gets used by ( we have a lot of code sharing among > products). > > This file is then read and generates wix source files for each product > using transforms and xpath. This pass also tell the products what > components they have. The component files are then built, tranforms are > done to generate the features using the information from pass 1 and then > the final generation of msms and then msis. > > This process currently manages our msi generation for 20+ installation > products from 240ish components built from source and a few hundred > ancillary files. > > It removes most of the tedium and mistakes made, but is still fully > extensible by careful use of include files. > > It's not quite the nirvana of fully automated code generation but it > does remove the tedium and potential mistakes from changing one > component which is used in all products. > > > > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users