title: WIX relative path ends up being too long
body: <p>I am getting errors from <code>light.exe</code> that indicate it is having problems locating one of the files in my setup project. Turns out on the PC in question the relative path I am using exceeds 260 characters. At the moment Wix is set up something like this:</p>
  
  <pre><code>&lt;File Id='FoobarEXE' Name='FoobarAppl10.exe' DiskId='1' Source='..\..\Path\To\Built\Executable\FoobarAppl10.exe' KeyPath='yes'/&gt;
  </code></pre>
  
  <p>The problem I have is that the Wix install project is located in a folder such as <code>D:\Path\To\ProjectFolder\WixInstaller\WixInstallerProject</code> and <code>\Path\To\Built\Executable\FoobarAppl10.exe</code>exists under the <code>D:\Path\To\ProjectFolder</code> folder. When <code>light.exe</code> attempts to resolve the path the net result is <code>D:\Path\To\ProjectFolder\WixInstaller\WixInstallerProject\..\..\Path\To\Built\Executable\FoobarAppl10.exe</code> which in my particular case happens to be over 260 characters. The correct absolute path for the exe would be <code>D:\Path\To\ProjectFolder\Path\To\Built\Executable\FoobarAppl10.exe</code> which in my case would be under 260 characters, but because of the unnecessary inclusion of the <code>WixInstaller\WixInstallerProject\..\..\</code> part of the path it is then over this limit.</p>
  
  <p>Is there any way that I can get <code>light.exe</code> to resolve <code>..\..\Path\To\Built\Executable\FoobarAppl10.exe</code> as <code>D:\Path\To\ProjectFolder\Path\To\Built\Executable\FoobarAppl10.exe</code> instead of <code>D:\Path\To\ProjectFolder\WixInstaller\WixInstallerProject\..\..\Path\To\Built\Executable\FoobarAppl10.exe</code>?</p>
  
  <p>I appreciate this is not a limitation in Wix per se, more of an underlying limitation in the way the APIs Wix is designed to utilise are built, however I need a solution to the problem that will allow me to fix this in my <code>.wxs</code> file. Yes shortening the path would work but the problem isn't really that the path is too long (because it isn't), it's that the syntax for relative paths adds the unnecessary middle section.</p>