Hi, I have a similar situation (where the list of files changes from release to release), and I use a perl script to generate wix include files for the components and features. Let me explain. We keep list files, split into what become components, containing simply the relative pathname of all files within that component (relative to the root install directory). There's another file that lists the features and the components they include. These are both simply text files. The perl script reads all of these files and keeps track of the features, components, files, and directories using %arrays, then spits out a features.wxi and components.wxi file that is included in a base .wxs file to fill out the feature and component sections. The perl script also keeps a list of known components and the GUIDs associated with them, so that the component GUIDs only change when we want.
If you'd like a sanitized version of the perl script (with example files), let me know off-list and I'll send it to you. Lewis >>-----Original Message----- >>Date: Mon, 21 May 2007 15:21:29 -0400 >>From: "Yexley, Robert \(LNG-CON\)" <[EMAIL PROTECTED]> >>Subject: Re: [WiX-users] Using heat.exe as part of an automated build >> process >>To: "Rob Mensching" <[EMAIL PROTECTED]>, "Scott Palmer" >> <[EMAIL PROTECTED]> >>Cc: wix-users@lists.sourceforge.net >>Message-ID: >><[EMAIL PROTECTED] t> >> >>Content-Type: text/plain; charset="us-ascii" >> >>Thanks Rob. But the "code divination" that you speak of is not really >>what I'm looking for. I'm not looking for some voodoo that will get me >>out of doing my job, I'm just looking for a way to do it more >>efficiently and effectively. The *actual* situation that I have is that >>the files that make up the web application that I'm trying to create an >>installer for change, at least slightly, from week-to-week. ASPX pages >>get added, js files get removed, etc. The file system is a moving >>target. I've discussed the maintenance of .wxs files with the >>development team and the general consensus seems to be that having to >>update/change a .wxs file to add or remove a "component" whenever a file >>is added or removed from the codebase is not really feasible. The hope, >>then, was that there might be some way, some tool that I could use, to >>automatically generate a .wxs source file with all of the "components" >>needed by simply pointing it at a given directory. I can setup my >>automated build process to take the raw code directory and copy only the >>files needed to a "staging" directory (remove all files with the >>following extensions: .cs, .csproj, etc)...that directory then becomes a >>mirror image of what I want the target machine to look like after having >>run the installer. >> >>I have no problem with creating a main .wxs source file with all of the >>custom UI logic and stuff like that in it, but having to manually >>maintain files for each and every single file that makes up an >>application is tedious at best (more colorful ways of describing that >>process come to mind as well). >> >>The other major consideration here is the fact that I don't really have >>a requirement to deploy to a large user base, nor is there a requirement >>for component "upgrades" either. We're developing an installer to >>simplify the process of internal deployment. Within the company that I >>work, there is a completely separate organization that maintains our >>server environments, and the deployment of applications to those >>servers. The idea of simplifying that process for them by creating a >>simple installer is very appealing to everyone. So, for our purposes, an >>"upgrade" would really just be a matter of checking to see if the >>application is already installed and if it is, uninstall it before >>continuing with the current installation. There are a few custom actions >>that I would want to perform as part of the process, but again, I can >>write that into the installer source and handle that myself. I simply >>want something that is capable of looking at a directory and generating >>a source file with a component for each of the files and directory >>structures in the given directory. >> >>I hope that clears some things up. I also hope that makes what I'm >>wanting/hoping/trying to do fairly easy. I just need some guidance as to >>how to do that, whether it involves the use of heat.exe or something >>else. If nothing else exists, fine...I'll write my own tool to do it. I >>just wanted to at least ask the question because my scenario seemed to >>me to be a common enough one that someone was bound to have faced this >>challenge before me, and hoped that someone had already figured out a >>solution for it. >> >>Thanks. >> >>______________________________________ >>// YEX // >> ------------------------------------------------------------------------- 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