Troubleshooting the 'NotFound' message
UPDATE: There is an issue with Dynamics CRM2015 where if you open the Ribbon Workbench from the solutions area button and you are using the Server's default organization it will give the 'Not Found' error. In this case you will need to open the Ribbon Workbench by double clicking on the Ribbon Workbench managed solution from the solutions list.
If your CRM server rejects your ribbon customisations, you
will likely receive the 'NotFound' error message. Although the
server does provide an exception message that is more helpful, the
Ribbon Workbench cannot read the message due to technical
limitations of supporting users inside a VMWare virtual machine
environment (see the bottom of this article for more information if you are interested!).
To see the actual error message, you have two choices:
Use Internet Explorer 9's F12 Trace
1. From within the Ribbon Workbench, Press F12
2. Click on the 'Network' tab and click 'Start Capture'
3. Click 'Publish Solution' in the Ribbon Workbench and wait for the error dialog
4. From within the Network tab of the F12 window, look for the last request that has a request of 500 (not 200 or 404) and select it. A few initial error responses are expected whilst the Ribbon Workbench waits for the job to start, but you are looking for the last HTTP500 that occurred before you receive the error.
5. Click 'Go to detailed view'
6. Select the 'Response Body' and find the xml element named 'faultstring' - this will give you information that you need to determine what is wrong.
7. If this doesn't make sense to you, use the save button to save the captured traffic and submit the issue at http://ribbonworkbench.uservoice.com/ 'Contact Us', being sure to attach the export file.
1. Install fiddler http://www.fiddler2.com/fiddler2/
2. Within Fidller, use the menu Tools->Fiddler Options->HTTPS
3. Check Decrypt HTTP Traffic and Ignore Server Certificate Errors.
4. Close Fiddler
5. Restart Fiddler - wait for it to load up.
6. Reproduce the error in the Ribbon Workbench.
7. Go back into fiddler and look for requests that has a red warning triangle next to it. It will show as an HTTP 500. A few initial error responses are expected whilst the Ribbon Workbench waits for the job to start, but you are looking for the last HTTP500 that occurred before you receive the error.
8. Select this request, and then select 'XML' in the response panel on the right hand side. This will show the faultstring that will provide you more information.
9. If this doesn't make sense to you, use the save button to save the archive and log the issue at http://ribbonworkbench.uservoice.com/ 'Contact Us', being sure to attach the Fiddler file.
Note: If you are sending the file, you may wish to select any requests that are not to CRM and use the Delete key to remove them.
Why the Ribbon Workbench does not show the faultstring (only read if you are interested!)
Silverlight supports two HTTP stacks - the Client Stack and the Browser Stack. The faultstring described above can only be read if you are using the Client Stack. There is an open issue with Silverlight 4 where if more than one request uses the Client stack, then an unmanaged fault is thrown from within Internet Explorer if running inside a VMWare virtual machine.
I have made the decision not to use the Client Stack due to there being many people running the Ribbon Workbench from inside VMWare.
You can read about this issue here: