I have a server with Windows Server 2008 R2 installed, and a third party application that handles all our business transactions. The problem is, we're running out of space, and the root folder for the data is hard coded into the application.

Contacting the Application Vendor has gotten me nowhere. Their suggestion is to delete old files, or run a second instance to move old files to, which would be in violation of our compliance policy.

I've also tried every type of reparse point (Junctions, Symbolic Links, etc..) to mount additional storage and they work great outside of the application. However the application errors out with a "Access Denied" error when attempting to create or delete a file in the mounted path.

"CorrectFilePaths" shim from Microsoft's Application Compatibility Tool Kit seems like the answer, but this shim doesn't appear in the list of available shims when running on Windows Server 2008 R2.

Is there a way to make it work? Or is anyone familiar with another reliable tool that can accomplish this?

TL;DR I have a busted third party app, that is hard coded to save files to a specific directory. Need more space, but it won't work with ntfs junctions/links. Any tools available?


Ok, so after a lot of research and trial and error I found a solution. Definitely not best practice, but fits our need.

I had to create the shim on a windows 7 machine. The shim was created with the Win7 compatibility mode, and used the following line as the parameters for the CorrectFilePaths shim:

    -b "%appdata%\AppName;%userprofile%\AppData\Roaming\AppName"

The -b parameter tells the shim to skip any default path corrections. Details about this can be found in this technet article. Also worth noting, we have folder redirection in place to forward the AppData folder to a UNC path. This works for NTFS mount points as well, just use the full path i.e. \\?\Volume{GUID}\ in place of the second half of the parameter %userprofile%...


I'll be happy to answer any questions anyone might have.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.