I had almost given up on this one. Around the move from MPLAB8 to MPLABX my poor old ICD2 debugger stopped working, my PICKIT3 still worked OK but I never got to the bottom of it. Working mostly on the bottom end chips with a few K of RAM I did not really mind using a PICKIT3 but the more I use the PIC32 with the larger flash memories I get very frustrated with the several seconds it takes to program the device and the very slow and limited debugging.
I finally bit the bullet and bought an ICD3 but the experience out of the box was really bad to say the least. Just plugging it in windows 7 (64bit) failed to load a driver. After un-installing and re-installing the driver using the switcher program, windows device manager and even batch files as suggested on the Microchip site I finally got Windows 7 to recognise the driver, however MPLABX did not. So I un-installed it again
In desperation I decided to update to MPLABX3.05 along with the new XC32 and XC8 compilers, plugging the ICD3 in again gave the windows 7 failed to install the driver so I then went through the switcher program again and again got the dreaded failed with error code 2 (not run as administrator, device not plugged in or invalid path – noe of which it was!)
In the new MPLAB I did notice another folder C:Program Files (x86)MicrochipMPLABXv3.05Switcher64Bitwinusbamd64_unsigned which had an inf file in it, and with nothing to loose I thought I would use this as the path to the MCHPWinUSBDevice.inf file. Lo and behold it worked and I now have my ICD3 working in MPLABX.. Yay!
My only niggles with the XC32 compiler (apart from it’s crippled!) is that they have depreciated the standard peripheral libraries for the harmony framework and you now have to download and install it separately (ahh.. Progress!)
Read more Here