I had the same problem when I tried programming my EtherDongle. The first time I connected my pickit3 to the EtherDongle and then ran the programmer it did a firmware update, and continuously gave the "operation failed" message. I then tried programming my express again to see if the pickit3 still worked on that. It did another firmware update and gave the same "operation failed" message. Then, for some reason I pressed the button on the pickit3. It then worked on the express. I connected the EtherDongle again, it did another firmware update and still gave the "operation failed". I then pressed the button again, and it worked.