I’m not a big fan of Perforce but it has it’s plus points and as a result we use it at work. One thing I don’t use is Perforce’s official Visual Studio SCC plug-in which I think it just trying to be too smart for it’s own good. I do use NiftyPerforce though which is a small, quick and simple plug-in that does exactly what it needs to do.
I recently installed it on a 64bit version of Windows running VS2010 and the 64bit version of Perforce. NiftyPerforce has issues with this, leading to the following dialog when you try to use it.
Could not find p4.exe installed in perforce directory? Well I know it’s there because I use it every day…
If you have a look at the NiftyPerforce output, there’s an interesting line in there…
Found perforce installation at C:Program Files(x86)Perforce?
What? There is no ‘C:Program Files (x86)Perforce’ folder since the 64bit version of Perforce is actually installed to ‘C:Program FilesPerforce’
I quickly Google’d the issue and was surprised that there are a few bugs reported on this issue but nothing else.
Anyway, the solution was actually quite simple (if a little hacky). I created a Symbolic Link to the actual Perforce install so to NiftyPerforce it looks like Perforce does exist in ‘Program Files(x86)’
> mklink /D "C:Program Files (x86)Perforce" "C:Program FilesPerforce"
Interestingly it actually works if you remove the /D option too, but maybe that’s just a quirk of Windows?
Now when NiftyPerforce looks for our Perforce install via the (x86) directory, it’ll link nicely to the directory that actually stores the executable.
I’m waiting for this to blow up in my face as other tools start to get confused as to where my Perforce install is, but so far, so good…