I think what you need to add is "-var var.SourceFiles"; from the help file:
-var <VariableName>
Substitute File/@Source="SourceDir" with a preprocessor or a wix variable (e.g.
-var var.MySource will become File/@Source="$(var.MySource)\myfile.txt" and
-var wix.MySource will become File/@Source="!(wix.MySource)\myfile.txt".
This will result in the File elements having the source folder set to a
pre-processor variable, e.g.:
<File Id="fil8E5129A8454C2AA40A71DF50F7CD8484" KeyPath="yes"
Source="$(var.SourceFiles)\File1.exe" />
You can then set this a compile time.
Neil
-----Original Message-----
From: Andrew Maxwell [mailto:[email protected]]
Sent: 18 May 2012 06:01
To: [email protected]
Subject: [WiX-users] building an msi in the same dir as source files?
Hi again all,
My last post was a bit of a brain-dump, so I can boil my question down to a few
points here: :)
- using heat, is there a way to harvest a directory and suppress directory
id/name insertion in the resulting .wxs? (when automating heat output , this is
an annoyance) eg . heat.exe dir MyDirectory -gg -cg MyComponents -o output.wxs
would generate something like:
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="TARGETDIR">
*<Directory Id="dir682EE88536E915B58CEC9559EC161A89"
Name="MyDirectory">*
<Component Id="cmp789AABFBE814C745D68B0EC1FE51DF26"
..... etc
- I'm trying to build an installer where the .msi *sits in the same directory
as the uncompressed source files*. However, if my dir structure looks like:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" >
<Directory Id="APPLICATIONROOTDIRECTORY"
Name="MyApplication"/>
</Directory>
</Directory>
<DirectoryRef Id="APPLICATIONROOTDIRECTORY">
...components...
</DirectoryRef>
This will happily install MyAppliation to Program Files/MyApplication however
will require my msi to reside one level down, and expect the source files to be
in a dir called MyApplication.
Can anyone set me in the right direction?
My process is something like this atm:
heat dir <AppSource> -gg -sfrag -sreg -svb6 -scom -cg MainAppComps -o
installer.wxs [modify heat .wxs] candle -out installer.wxsobj installer.wxs
light -b <AppSource> -sl -spdb <AppSource>/installer.wxsobj -out
<AppSource>/installer.msi
Will create a .msi in the AppSource directory (good!), but when installed
expects the files to reside in AppSource/MyApplication/ !
Sorry again for the double post. Any thoughts anyone?
ps. if anyone's interested the reason for this seemingly bizarre project layout
is the .msi exists purely to simplify deployment via a group policy.
cheers,
Andrew
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and threat
landscape has changed and how IT managers can respond. Discussions will include
endpoint security, mobile security and the latest in malware threats.
http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users