What is the WiX equivilent of Environment.SpecialFolder.ApplicationData from .NET?

Davy8 picture Davy8 · Oct 14, 2008 · Viewed 14.8k times · Source

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?

Answer

Pavel Chuchuva picture Pavel Chuchuva · Oct 14, 2008

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.