Solution: Explorer open each folder in same window error and SQL Management Studio, IE and Team Explorer errors
Problem(s):
- When attempting to open a folder in Windows Explorer, the folder opens in a new window, even if “Open each folder in the same window” is selected in Folder Options.
- Some links in Internet Explorer don't open correctly
- Microsoft SQL Server Management Studio: An error with a message like "Unable to cast COM object of type ‘System.__ComObject’ to interface type 'Microsoft.VisualStudio.OLE.Interop.IServiceProvider'. This operation failed because the QueryInterface call on the COM component for the interface with IID ‘{6D5140C1-7436-11CE-8034-00AA006009FA}’ failed due to the following error: No such interface supported (Exception from HRESULT: 0x80004002 (E_NOINTERFACE)). (Microsoft.VisualStudio.OLE.Interop)
- Visual Studio Team Explorer: When browsing using the Team Explorer window, you may get COM errors similar to those in the SQL Management Studio error above
Solution
Solution 1
Download RegisterActxprxyAndIeproxy.cmd
Download the zip file, run the batch file inside as Administrator, then reboot, to fix the problem.
{{<video “/wp-content/uploads/2009/12/RegisterActxPrxy.mp4”>}}
If you don't run the batch file as an administrator, you will get an error as pictured:
Details
The contents of the batch file is as follows:
Microsoft.Playwright.PlaywrightException: Error: The language "cmd" has no grammar.
at Object.highlight (http://127.0.0.1:41899/main.js:3978:11)
at eval (eval at evaluate (:226:30), :2:18)
at UtilityScript.evaluate (:233:19)
at UtilityScript. (:1:44)
at Microsoft.Playwright.Transport.Connection.InnerSendMessageToServerAsync[T](ChannelOwnerBase object, String method, Dictionary`2 dictionary, Boolean keepNulls) in /_/src/Playwright/Transport/Connection.cs:line 209
at Microsoft.Playwright.Transport.Connection.WrapApiCallAsync[T](Func`1 action, Boolean isInternal) in /_/src/Playwright/Transport/Connection.cs:line 535
at Microsoft.Playwright.Core.Frame.EvaluateAsync[T](String script, Object arg) in /_/src/Playwright/Core/Frame.cs:line 548
at SiteGen.Extensions.Markdown.Prism.PrismHost.Highlight(String source, String language)
at SiteGen.Extensions.Markdown.Prism.PrismCodeBlockRenderer.Write(HtmlRenderer renderer, PrismCodeBlock obj)
Don't forget to reboot after re-registering the DLLs!
Edit: The script has been updated to support 64-bit Windows
Solution 2
Some people have reported that the following command may fix the problem when Solution 1 does not work (first mentioned by snir in the comments):
- Open up a Command Prompt (presumably in Administrator mode) Start > Programs > Accessories > Command Prompt
- Type in
sfc /scannow
and hit Enter
For those for which this solution works, I'd like for someone to find what file(s) were affected and repaired, so we can get a more specific solution and see if it's related to Solution 1. This solution was one I looked at before I made this post which did not work for me.
Explanation:
I'm not sure of the exact details, but this is what I think I've found. Perhaps someone at Microsoft would correct or elaborate on this. Previously, actxprxy.dll (ActiveX Interface Marshaling Library) was used as the proxy for a multitude of system interfaces, such as IShellFolder and IServiceProvider.
In Windows 7 (and probably Vista also), the GUID of this library has changed from to
Secondly, there is also a new Proxy/Stub provider found in ieproxy.dll of Internet Explorer (IE ActiveX Interface Marshaling Library). Some interfaces that previously used actxprxy.dll are now registered to use ieproxy.dll. Now various problematic software (such as Vault 3.x) will try to register against actxproxy using the old GUID, and for interfaces now proxied by ieproxy.dll.