Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Mobile / WinMobile

Getting Rid of Obsolete Microsoft Windows Mobile Remote Adapters

0.00/5 (No votes)
21 Apr 2012CPOL2 min read 12.7K  
How to get rid of obsolete Microsoft Windows Mobile Remote Adapters

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 don't 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 always 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 a programmer, I searched 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.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)