views:

33

answers:

1

What is the best way to debug a namespace extension using Visual Studio? It's not convenient to use regsvr32 to register and unregister the extension and to restart the Explorer for each and every build. Attaching the debugger to the extension would be a nice benefit.

Is there a simple way to debug a namespace extension using Visual Studio?

+2  A: 

If you start explorer with something like explorer.exe /separate,::{desktopguid}\::{yourguid} you should get a separate process for that window and it should pick up new registry entries (or existing entries if you just leave them in there, you could then add a GetWindowThreadProcessId(GetShellWindow(),...)!=GetCurrentProcessId() check and not load in the "main" shell process).

There are also some registry values you can set to change the behavior of explorer: DesktopProcess, SeparateProcess and BrowseNewProcess

To close down the shell without killing the process in taskmgr, use this old shutdown trick: Click Start, and then Shut Down. Hold down Ctrl+Alt+Shift and click Cancel

Anders