I didn't see any answer to ´this one, so here goes;
Yes, I have tried it. And I got it working, but it did take some handwaving and
additional utilities. There may be simpler ways, I'm merely decribing what I
did:
For each relevant DLL I added source similar to:
<Directory Id='BinDirectory' Name='bin'>
<Directory Id=mydll.gac' Name='gac'>
<Component Id=mydll.gac' Guid='GUID-GUID-GUID-GUID-GUID'>
<File
Id=mydll.gac'
Name='mydll.dll'
Source='$(var.SOURCEBIN)\mydll.dll'
Assembly=".net"
KeyPath="yes">
</File>
</Component>
</Directory>
<Component Id=mydll.bin' Guid='GUID-GUID-GUID-GUID-GUID'>
<File
Id='mydll.dll'
Name='mydll.dll'
Source='$(var.SOURCEBIN)\mydll.dll'
KeyPath="yes"
/>
<File
Id='mydll.pdb'
Name='mydll.pdb'
Source='$(var.SOURCEBIN)\mydll.pdb'
/>
</Component>
</Directory>
I.e. carry the DLL payload twice, once to get the DLL into a directory for
looking at and one to go into GAC. Suboptimal, but I didn't have to worry about
all that much data anyway (compared to the size of some of the HUGE packages
out there :) ).
Furtermore, I defined custom actions:
<Binary Id='PdbInstaller' SourceFile='$(var.PDBINSTALLER)' />
<CustomAction
Id='PdbInstall'
BinaryKey='PdbInstaller'
ExeCommand='/debug "/bindir=[BinDirectory]"'
Return='asyncNoWait'
/>
<InstallExecuteSequence>
<Custom Action="PdbInstall" After="InstallFinalize">NOT REMOVE AND NOT
RESUME</Custom>
</InstallExecuteSequence>
I pass some variables to the wix script, notably SOURCEBIN and PDBINSTALLER
(full path and filename to the executable).
PdbInstaller.exe takes one important parameter, namely the location of the "for
view only" DLLs. It is also critical that it PdbInstaller.exe is compiled using
the same version/key as the DLLs.
PdbInstaller.exe owns big credit to
http://geekswithblogs.net/colinbo/archive/2006/03/23/73200.aspx but I must
admit I simplified it a lot and also chose to use a separate exe-file that
didn't inherit any framework installe methods. On the plus side, the
uninstallation removed the dll, its directory AND the pdb-file so while not
completely kosher it seems to work. ymmv.
The /debug-flag to PdbInstaller.exe simply displays what it's doing. Very
helpful :)
--Jesper
________________________________
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Peli de
Halleux
Sent: den 7 februari 2007 06:25
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Placing PDB next to assemblies in the GAC
I am looking for a way to place the symbol files (pdb's) next to
assemblies that are installed in the GAC (to get nice stacktraces). Has anybody
already tried this?
Thanks, Peli
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users