I need to install a file into the Environment.SpecialFolder.ApplicationData
folder, which differs between XP and Vista. Is there a built in way to reference the correct folder in WiX or will I have to use conditional checks for OS and do it manually?
If I have to do the latter, how do I reference the current windows user's directory in Vista?
Use Directory element with Id set to AppDataFolder:
<Directory Id="AppDataFolder">
<Directory Id="MyAppFolder" Name="My">
<Component Id="MyComponent">
<File Source="Files\test1.txt" />
</Component>
</Directory>
</Directory>
This will result in test1.txt being installed to C:\Users\username\AppData\Roaming\My on Windows 7 and to C:\Documents and Settings\username\Application Data\My on Windows XP.
MSDN has a list of properties that you can use to reference special folders.