As a Windows Mobile programmer I have to fight with ActiveSync a.k.a. Windows Mobile Device Center. The newer WM devices come with enhanced network function via USB ActiveSync/WMDC.
First, I dont need any partnership and so I change my system to do GuestOnly connections with WMDC (Windows Mobile 7, 64Bit system).
OK, second annoyance is the awlays coming up WMDC or WMDC+Mobile Registration Wizard. These Popups can be avoided by changing the call to WMDC.exe to WMDCbase.exe.
So, I can connect one of the several devices I have currently for development support (about 10) without annoying popups.
But then I found, that for each device, Windows installs a new “Microsoft Windows Mobile Remote Adapter” in Device Manager. I found about 88 instances, where only ONE is needed.
To remove these hidden, inactive Instances, you can now right click on every instance, then click UnInstall and then [OK]. But for 88 instances, that is a bunch of clicking.
As programmer, I searched of a way to remove these instances programmatically. OK, I digged google and found DevCon, a tool to manage devices and instances from the command line. Unfortunately, I had to download a CD image of Windows WDK to get DevCon.exe. Then I found a site which described howto install DevCon only.
With the help of DevCon.exe, I produced a list of “Microsoft Windows Mobile Remote Adapter” instances, removed to not numbered one and then built a list of DevCon commands to remove the obsolete instances.
List all Windows Mobile Remote Adapters into a file:
devcon findall "USB\VID_067E&PID_1003&REV_0000" >wm_remote_adapters.txt
“USB\VID_067E&PID_1003&REV_0000? is the identifier for Windows Mobile Remote Adapter (you can find this by right clicking the instance in device manager and select properties).
USB\VID_067E&PID_1003\0040056A-0E9D-0801-0DE0-01130400682B : Microsoft Windows Mobile Remote Adapter #59
USB\VID_067E&PID_1003\0040056A-0E9D-0801-1B10-010E04000801 : Microsoft Windows Mobile Remote Adapter #6
USB\VID_067E&PID_1003\0040056A-0E9D-0801-0B70-000E0400BA61 : Microsoft Windows Mobile Remote Adapter #24
USB\VID_067E&PID_1003\0040056A-0E9D-0801-1990-001104000E40 : Microsoft Windows Mobile Remote Adapter #77
USB\VID_067E&PID_1003\99461300-B56A-0801-DD17-0FBB99944738 : Microsoft Windows Mobile Remote Adapter #89
Then, in the list wm_remote_adapters.txt, I replaced all line starts etc and built this cmd list:
devcon.exe remove "@USB\VID_067E&PID_1003\0040056A-0E9D-0801-0590-010E0400A43B"
devcon.exe remove "@USB\VID_067E&PID_1003\99461300-B56A-0801-5AD3-B56444802FC3"
devcon.exe remove "@USB\VID_067E&PID_1003\99461300-B56A-0801-B87A-D1874E00C078"
devcon.exe remove "@USB\VID_067E&PID_1003\0040056A-0E9D-0801-1640-01100400B075"
Then I saved this cmd list as remove-adapters.cmd and started it from the command prompt. And, voila, all obsolete adapters are gone for now.
From time to time I have to rebuild the lists again to get rid of these many obsolete adapters.