You have a fantastic App for Microsoft Dynamics CRM 2011 and you want to list it on the Microsoft Dynamics Marketplace and/or achieve certification. Good news! The software test that you have to take is self-administered and is available now for you to give it a try. Do note that several of the sites mentioned here still need to be updated with information about CRM 2011 but that shouldn’t prevent you from giving the software test a try.
1. Register your company and application and download the Microsoft Platform Ready test tool at http://www.microsoftplatformready.com. For questions or comments about the Microsoft platform ready site and tool you can contact: firstname.lastname@example.org
2. Run the tool and execute the corresponding tests that are applicable to your application. You must execute the test cases for Microsoft Dynamics CRM 2011 as well as any other applicable technology that is currently supported by the test tool.
3. Once you have passed the test and submitted the results to Microsoft you can now proceed to register on the Microsoft Dynamics. The Get Listed page spells out the process you need to follow to get your product listed. Currently there is a certain amount of duplication between both systems (e.g. you have to register twice) but the experience will be streamlined with future enhancements.
4. If you want to pursue certification ensure that you have taken the test and submitted the results before you contact the vendor that administers certification on behalf of Microsoft. Do note that there are additional requirements (e.g. customer references) other than the software test to achieve certification. Certification is not required to be listed on the marketplace but it will grant you a “Logo”, better placement in search results and other perks that are well worth it. To learn more about certification see this link. You can also contact email@example.com if you have questions about certification.
The software test
Ok, now to the meat of this post. Running the MPR test tool is very straight forward. Here is a sample run with some clarifications.
1. This is the very first screen, just select “Start a new Test”
2. In the next screen you have to select all applicable technologies. In this example all I have is a CRM solution package so I only selected “Microsoft Dynamics CRM 2011”. Folks that do not install anything on the CRM server keep reading, the test also works for applications that “connect” to CRM.
3. On the prerequisites screen click on “Edit” to add the details of the environment that will be used to test your application. The test is designed to verify that your application works with CRM Online which by extension also verifies that it would work in CRM On-premises. Note that even if there are some other restrictions that would prevent customers from running your application in online (e.g. some legal requirement in a given country) your application should be technically capable of running in CRM online. If your application cannot run in CRM online it will not be able to pass the test.
- Enter the unique name of your organization, its URL (you can get this information by logging into your CRM deployment and going to Settings>Customization>Developer resources). Ensure that the organization that you are providing does NOT have the solution that you are trying to verify pre-installed or the test will fail.
- Enter the credentials (typically your live id) and password. The credentials must correspond to a CRM user that has administrative privileges in the organization.
After you supplied the values above click on “Test Connection” to verify the tool can connect to CRM. After connectivity is verified click close. You can now move to the setup information
4. The next screen is key; it allows you to specify if your application installs a solution on the CRM server. If your application doesn’t install anything on the CRM server but does interact with CRM (E.g. a Microsoft Word Add-in) you can still use the test tool to verify your application, just make sure to select “No” when asked for an installation package. The CRM test is focused on testing CRM specific scenarios so even if you have a setup package you should select “No” on this screen if the setup package doesn’t deploy a CRM solution. In the word add-in example all the tool will verify is that the add-in interacts with CRM using our public SDK.
For this run since I am actually installing a CRM solution I selected “Yes” and provided the corresponding installer, which in my case is just the solution .zip file. You may have your own custom installer(s) (e.g. MSI) that in turn deploys a CRM solution.
- After you provide the file you also have to enter the unique name of the solution (not the display name) that will be installed. As a developer you designated a unique name when you initially created your solution. If you don’t remember it you can find it on the solution.xml file inside the solution.zip file. In my case the solution unique name is “Dummy”
Click next to proceed to the prerequisite summary screen and then next to actually execute the test, keep reading on, this is where most people get a bit confused.
The next screen asks you to install your application. You have to install it; the tool will not automatically install it.
Why? Installing a complex application may require multiple steps and input from the person installing it, the tool doesn’t know the flow/input of your installer (particularly custom installers). Once you have installed your application check the box “Yes” and click next. The tool will then connect to CRM to verify that the application was successfully installed. In this run all I had to do is to import the solution into CRM (On your CRM organization go to Settings>Solutions>Import and provide the solution file).
After installation you have to exercise the primarily functionality of your application and indicate the tool when you are done. The tool will be monitoring activity on the CRM server and verify that valid activity is being performed by the user that was provided on the prerequisites.
What does primary functionality constitutes? Depends on each application, all the tool will verify is that there was activity on the CRM server, it is up to the ISV to ensure that the primary functionality was effectively exercised (read on for those that think ‘cheating <grin>)
The last test is uninstallation of your application. For managed solutions that were installed via solution import this is as simple as deleting the solution. If you have an unmanaged solution or a custom installer you need to execute your own uninstallation routines.
Once you have uninstalled the solution click on “Yes” and then click “Next”. The tool will connect to CRM and verify that the solution was uninstalled.
If everything went as it should <smile> you should get a “Pass” result at the end.
If there are any failures the test will tell you what went wrong. The most common mistake that I’ve seen in some beta runs is that the solution unique name was not properly provided, double check that the name you supply is the unique name and not the display name. Another common mistake is that a setup package and solution name is provide even if nothing gets installed on the CRM server, remember that the CRM test only verifies CRM related operation thus if you don’t install anything on the CRM server don’t supply a setup package on this test.
When you are ready to submit your test result to Microsoft go to the “Reports” section of the tool and follow the on screen instructions.