You can use [#ComponentId] to get the directory of the Component containing the file. It's all laid out here: http://msdn.microsoft.com/en-us/library/windows/desktop/aa368609(v=vs.85).aspx
On Wed, Apr 10, 2013 at 11:19 AM, Alain Forget <afor...@cmu.edu> wrote: > Yep, confirmed about directories being properties. Thanks...I should have > noticed it in my installer logs as well. Duh. > > I no longer need to get just a filename without its full path, but in case > I or someone else wants to do this in the future, how > could it be done? > > > -----Original Message----- > From: David Watson [mailto:dwat...@sdl.com] > Sent: April 10, 2013 12:55 > To: afor...@cmu.edu; General discussion for Windows Installer XML toolset. > Subject: RE: [WiX-users] Referencing filenames (without full path) > anddirectories in formatted strings > > Indeed, directories are properties. > > > http://blogs.msdn.com/b/robmen/archive/2006/10/17/deciphering-the-msi-directo > ry-table-part-7-directories-are-properties.aspx > > > -----Original Message----- > From: Alain Forget [mailto:afor...@cmu.edu] > Sent: 10 April 2013 16:02 > To: 'General discussion for Windows Installer XML toolset.' > Subject: Re: [WiX-users] Referencing filenames (without full path) > anddirectories in formatted strings > > Thanks for the reply. I thought the syntax "[dirA]" was only for > properties. > Does the Directory element also count as (or create) a property? > > -----Original Message----- > From: Rob Mensching [mailto:r...@robmensching.com] > Sent: April 10, 2013 10:38 > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] Referencing filenames (without full path) and > directories in formatted strings > > What about "[dirA]". The "[$dirA]" would be trying to get the directory > of a Component matching that Id, right? > > On Mon, Apr 8, 2013 at 4:00 PM, Alain Forget <afor...@cmu.edu> wrote: > > > Hi all, > > > > Say we have the following structure: > > > > <Directory Id="dirA" Name="A"> > > <Directory Id="dirB" Name="B"> > > <Directory Id="dirC" Name="C"> > > <Component Id='compABCClass' Guid='MyGuid'> <File Id="fileABCClass" > > Name="ABC.class" DiskId='1' > > Source="source/path/to/ABC.class" KeyPath='yes' /> </Component> > > </Directory> </Directory> </Directory> > > > > Then later on in the .wxs file, in Custom Actions, I want to refer to > > the above file and directory A like so: > > > > <!-- Silently run the Java ABC.class file (see > > http://wix.sourceforge.net/manual-wix3/qtexec.htm ) --> <CustomAction > > Id="Set_cmdRunABC" Property="cmdRunABC " > > Value=""java" -cp [$dirA] "[#fileABCClass]" /> > > <CustomAction Id=" cmdRunABC" Execute="deferred" BinaryKey="WixCA" > > DllEntry="CAQuietExec" Return="check" Impersonate="no" /> > > > > The problem lies with [$dirA] and [#fileABCClass]: > > > > 1) How can I specifically refer to an install directory location path > > (to replace the "[$dirA]"), where no components are being installed in > > that directory (but only in subdirectories, that have libraries and > > stuff that ABC.class needs)? > > 2) How do I get a file's name *without* the full path (as is returned > > by "[#fileABCClass]")? > > > > Thanks, and let me know if anything here isn't clear. > > > > Alain > > > > *************************************** > > Alain Forget, Ph.D. > > Postdoctoral Researcher > > CyLab, Carnegie Mellon University > > afor...@cmu.edu > > http://cups.cs.cmu.edu/~aforget/ > > *************************************** > > > > > > > > > > ---------------------------------------------------------------------- > > -------- Minimize network downtime and maximize team effectiveness. > > Reduce network management and security costs.Learn how to hire the > > most talented Cisco Certified professionals. Visit the Employer > > Resources Portal > > http://www.cisco.com/web/learning/employer_resources/index.html > > _______________________________________________ > > WiX-users mailing list > > WiX-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > ----------------------------------------------------------------------------- > - > Precog is a next-generation analytics platform capable of advanced > analytics on semi-structured data. The platform includes APIs for > building apps and a phenomenal toolset for data science. Developers can > use our toolset for easy data analysis & visualization. Get > a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > ----------------------------------------------------------------------------- > - > Precog is a next-generation analytics platform capable of advanced > analytics on semi-structured data. The platform includes APIs for > building apps and a phenomenal toolset for data science. Developers can > use our toolset for easy data analysis & visualization. Get > a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > SDL PLC confidential, all rights reserved. > If you are not the intended recipient of this mail SDL requests and > requires that you delete it without acting upon or copying any > of its contents, and we further request that you advise us. > SDL PLC is a public limited company registered in England and Wales. > Registered number: 02675207. > Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 > 7DY, UK. > > > > ------------------------------------------------------------------------------ > Precog is a next-generation analytics platform capable of advanced > analytics on semi-structured data. The platform includes APIs for building > apps and a phenomenal toolset for data science. Developers can use > our toolset for easy data analysis & visualization. Get a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users