-ag switch: sets the guid of each generated component as "*". This cause the
compiler to compute a GUID based on the directory tree the component is in
and the name of the keypath. This results in stable GUIDs that don't change
between builds unless you change the directory or the filename (and in
either of those cases, you want a new guid). -ag should have been the
default in heat from the beginning.

If you use -gg, the guids will be different every time, and that would be
bad. The "*" for guids in the compiler means "generate" and the algorithm
for guid generation is different based on what the guid is for, but always
with an eye toward the safest results for as many cases as possible.

Since you are adding and removing PDF files, you should be planning on only
using Major Upgrades, and so your Product/@Id value should also be "*" (in
that case, the algorithm simply generates a new guid each time, which is the
primary requirement for generating major upgrades).

SourceFile directory: Easiest fix (from my point of view) is to use the -var
switch, and tell the compiler where to look. Something like this:

Heat ... -var PdfFolder ...
Candle ... -dPdfFolder=src\INSTALLDIR\pdf\ ...

Blair

-----Original Message-----
From: Lukas Haase [mailto:lukasha...@gmx.at] 
Sent: Wednesday, July 21, 2010 3:17 PM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Automatically include arbitrary files

Am 22.07.2010 00:07, schrieb Lukas Haase:
> Dear Blair,
>
> I do not fully understand. You mean the -ag switch?
>
> But then on every compile the PDF files get a different GUID, don't
> they? Then back to the original question: Does it matter in ANY way if
> they get a different GUID on upgrades?
>
> I.e. In a few months I will make the first upgrade for for my product.
> Most likely a few PDFs will be removed, a few will be added. Is there
> any concern with your proposed method?

Dear Blair,

Sorry, I forget one additional question:

Heat generates the <File>-Elements as:

<File Id="fil6CD3EB10EF7C12F5645E92DEC7FA408E" KeyPath="yes"
Source="SourceDir\04156.pdf" />
         ^^^^^^^^^

but in fact I placed the PDFs (relative to the directory from where I 
call candle/light) in
   src\INSTALLDIR\pdf

Is there any way to replace SourceDir with src\INSTALLDIR\pdf 
automatically? Or is there another solution?

Similar the directory with is created as:

<DirectoryRef Id="TARGETDIR">
                   ^^^^^^^^^
   <Directory Id="dir92AEA0E44CFC478DB41459D407BB54A9" Name="pdf" />
</DirectoryRef>

But in fact it should be <DirectoryRef Id="INSTALLDIR"> in order to work...

Thank you very much.

Regards,
Luke




> Am 21.07.2010 23:41, schrieb Blair:
>> In your settings for heat, you should use automatic component guids (they
>> come out as Guid="*") and you should setup a component group for your PDF
>> files (then you can simply refer to them from your feature using the
>> ComponentGroupRef element).
>>
>> -----Original Message-----
>> From: Lukas Haase [mailto:lukasha...@gmx.at]
>> Sent: Wednesday, July 21, 2010 1:29 PM
>> To: wix-users@lists.sourceforge.net
>> Subject: [WiX-users] Automatically include arbitrary files
>>
>> Hi,
>>
>> My setup project consists of a bunch of "static" files (application,
>> DLL), a huge databasefile and a vast amount of PDF files. The PDF files
>> are very volatile, they change from update to update (some are removed,
>> some are added but no of them are changed).
>>
>> As they are many files I would really prefer to add them automatically.
>>
>> I looked at the include-directive from the preprocessor but I can't find
>> out how to automate.
>>
>> I looked at fragments and played around with "heat". In general, this
>> would work. heat generates a wxs file containing a list of all pdf
>> files. However, I have all of them to add to the<Feature>-List in my
>> main file as<ComponentRef>-element!
>>
>> Isn't there a way to include the whole fragment and/or directory?
>>
>> Even if this would work, I still have to manually add/remove the items
>> in the pdfs.wxs.
>>
>> It would be really great if I could just put the current PDFs in the
>> diretory "pdfs" and all of them are just added to the MSI.
>>
>> However, if I run heat multiple times I clearly get different GUIDs for
>> the PDFs on each call.
>>
>> Does it matter when the GUIDs of the files change? Especially for the
>> update?
>>
>> Is there any chance to automate this process consistently?
>>
>> Best Regards,
>> Luke
>>
>>
>>
----------------------------------------------------------------------------
>> --
>> This SF.net email is sponsored by Sprint
>> What will you do first with EVO, the first 4G phone?
>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
>> _______________________________________________
>> WiX-users mailing list
>> WiX-users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/wix-users
>>
>>
>>
----------------------------------------------------------------------------
--
>> This SF.net email is sponsored by Sprint
>> What will you do first with EVO, the first 4G phone?
>> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
>
>
>
>
----------------------------------------------------------------------------
--
> This SF.net email is sponsored by Sprint
> What will you do first with EVO, the first 4G phone?
> Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first



----------------------------------------------------------------------------
--
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to