What I'm doing in a situation much like that is using an interpreted language to generate my .wxs files... That way, I have control over how the GUID's are generated.
I have to admit I use Perl to do it, but you could do it in another language, as long as it can generate type 4 GUIDs (the ones in a specific namespace) Here's first-pass Perl code to do it, because it's what : (This code just prints the component and file tags to standard output, so it could be redirected into a file. It assumes there are no subdirectories. If so, I'd put the directory reading code into a subroutine and recurse as you find subdirectories.) #!perl use 5.006; use strict; use warnings; use Data::UUID qw(); use IO::Dir qw(); use File::Spec::Functions qw( catfile ); my $download_site = 'http://www.site.invalid/my-program/'; my $dir_to_read = 'C:\\my\\build\\site'; my $guidgen = Data::UUID->new(); # Generate my own namespace to use for the rest of my GUIDs. my $ns = $guidgen->create_from_name( Data::UUID::NameSpace_URL, $download_site ); my $dir = IO:::Dir->new($dir_to_read); if ( !defined $dir ) { die("Error reading directory $dir_to_read: $!"); } print <<'EOF'; <?xml version='1.0' encoding='windows-1252'?> <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> <Fragment Id='Fr_Directory'> <DirectoryRef Id='D_DirectoryId'> EOF my ($id, $guid, $filename); my $file = $dir_object->read(); while ( defined $file ) { if ( ( $file ne q{.} ) and ( $file ne q{..} ) ) { $filename = catfile( $dir, $file ); $guid = uc $guidgen->create_from_name_string($ns, $filename); $id = $guid; $id =~ s/-/_/g; # To change dashes into underlines for the ID. print <<"EOF"; <Component Id='C_$id' Guid='$guid'> <File Id='F_$id' Source='$filename' /> </Component> EOF } # Next one, please? $file = $dir_object->read(); } print <<'EOF'; </DirectoryRef> </Fragment> </Wix> EOF exit 0; -- Curtis Jewell swords...@csjewell.fastmail.us %DCL-E-MEM-BAD, bad memory -VMS-F-PDGERS, pudding between the ears [I use PC-Alpine, which deliberately does not display colors and pictures in HTML mail] On Wed, 25 Feb 2009 11:15 -0800, "Tabmow" <tabmo...@gmail.com> wrote: > > Hi all, > I'm new to wix, and have looked at the tutorial at tramonta and > searched > around various places, but the answer to this isn't immediately obvious > to > me, so I was hoping someone could help shed some light on it. > > Our installer will be installing 3 large directories. Two of them are > completely static 3rd party stuff that will not change at all for the > release. However, the third directory is our main product build output, > so > that changes weekly. My question is: how do people deal with > situations > like this? I've looked at tallow & paraffin, and looks like I can use > them > (paraffin looks very nice) to build up my lists for inclusion in wxs file > which will work perfect for 2 of the 3 directories & files. However, > the > third directory will change every week and there could be new files, > files > deleted, new directories, etc. Since all the stuff on tallow/paraffin i > could see does not recommend re-running them on every build (so as not to > have all new GUIDs and break component rules), I could run paraffin once > and > then every other build of my installer i could just do a paraffin > -update... > But then if new files get added one week, the next week -update would > give > them a different GUID unless I had some way of knowing when the new files > were changed and to save that change. Asking designers to inform us of > file additions/removals is not feasible - ~100 designers. > > So for that one directory that *could* change frequently, I could just > store > it as a zip file (this is what gets created by as a build artifact > anyway) > in the MSI and unzip it, couldn't I? Although lots of responses towards > people asking questions about using Wix to handle zip files are very > negative towards using zip files... so how are people handling situations > like this? I would have assumed this was a common problem? > > I hope my point/question makes some sense. I would appreciate any > help/suggestions/comments anyone has. > > Thanks! -- Curtis Jewell swords...@csjewell.fastmail.us %DCL-E-MEM-BAD, bad memory -VMS-F-PDGERS, pudding between the ears [I use PC-Alpine, which deliberately does not display colors and pictures in HTML mail] ------------------------------------------------------------------------------ Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA -OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise -Strategies to boost innovation and cut costs with open source participation -Receive a $600 discount off the registration fee with the source code: SFAD http://p.sf.net/sfu/XcvMzF8H _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users