I wanted to install, as it later turns out extremely useful tools for Windows Phone development, Windows Phone Power Tools on my machine and soon after downloading installation file clicking Install I got prompted with information
Unable to install or run the application. The application requires that assembly Microsoft.SmartDevice.Connectivity Version 18.104.22.168 be installed in the Global Assembly Cache (GAC) first. More information on this system update can be found by visiting the site here
and I was not able to install it after all. Obviously, first thing I did was to check the Internet what it has to say about this condition. I was a bit disappointed, because all I found was only this thread which states that you have to make some amendments to the sources and then you’re good to go. I truly wasn’t pleased that I have to go through so much effort to just install one tool and what’s worse I had to have this tool for yesterday, because I had to do some storage testing (creating and removing files and directories). Fortunately the one that posted about changing sources provided a link to already prepared package for the Microsoft.SmartDevice.Connectivity and Windows Phone Power Tools problems.
I actually did not check if those sources work because they are compressed with RAR and I did not have any tool to unpack it…who packs things with RAR ? Eh..anyway, I came to conclusion that if this installer is expecting Version 11 in the GAC I will give it to him ;]
I opened GAC directory
Starting with the .NET Framework 4, the default location for the global assembly cache is %windir%\Microsoft.NET\assembly. In earlier versions of the .NET Framework, the default location is %windir%\assembly.
And looked for a folder named Microsoft.SmartDevice.Connectivity, for me the path was
in which you can find another folder with an older or newer version (e.g. v4.0_10.0.0.0__b03f5f7f11d50a3a) of Microsoft.SmartDevice.Conectivity library. If you cannot find it go to my other post, how to install library (dll) in GAC using PowerShell
The only one thing you have to do is to create a new directory which will point to “expected version”,
then you will copy the same *.dll that already ‘sits’ in the old / newer version folder to the one that you just created.
Now try to install tools again. You fooled installer that you actually have version that it requires ;]
You can run into same problem but with Microsoft.VisualStudio.DeviceConnectivity.Interop.11.0 library. If you do, apply same “technic” as with *Microsoft.SmartDevice.Connectivity *library.
Disclaimer: You have to be aware that this is not actually the *.dll that you should have in the folder that you just created, and other applications that rely on this specific version can just break or do not work properly.