Microsoft's updated business app store, AppSource, has launched and as we mentioned before has been steadily gaining momentum. We’ve submitted a few apps to the store for the Dynamics 365 CRM product, and I to share some tips to get through the evolving process more efficiently.
Note: Developing an app for AppSource is outside the scope of this article. Instead, I will focus on the submission process once you have a managed solution developed and ready to submit.
The app submission process encompasses more than just your Dynamics 365 managed solution file. Microsoft AppSource expects you to have your marketing, support, and image files ready for submission in addition to your solution. Because of this, please consider the following tips:
- Start your marketing efforts in parallel to your solution packaging efforts, this includes the creation of marketing data sheets, product images, and application icons.
- Application Icons
- Icon & image sizing should match exactly the sizes the submission process requests.
- Try to create all of the app icons requested.
- Your solution package requires a 32x32.png logo file. Don't forget to get this completed, otherwise, you can't complete the solution process.
- You will need an Azure subscription to store your solution package for the submission process to retrieve and test it. Use this handy tool for this process.
- Note: Microsoft hosts your final solution file for AppSource. This is a temporary location for the submission process to evaluate your solution prior to publishing.
- You will need to have a license, privacy statement, and supporting marketing data sheet documentation.
- Don't select CSV for your lead source. This will create daily Excel files and they end up being difficult to manage. Since you have an Azure subscription for the file storage, you can use Azure table or select your cloud-based CRM system.
- The AppSource review team will send you a document to complete the end-to-end testing steps. This will happen during the process, so be prepared to see it and send to them when requested.
You need to take your managed solution file and 'package' it using the solution packaging tool. Follow the article steps for more detail, but the part that might confuse a Visual Studio novice (like me) was the part to update your references. Here are the minimum steps you need to get a packaged file ready to zip.
- Assuming you have installed the package from the link above, Create a new CRM project
- Click References, right-click and select Manage NuGet Packages
- Click Updates and select all and update (this will update your references with the latest files from NuGet)
- Copy your managed solution to PkgFolder
- Update ImportConfig.xml with package name (and any other settings necessary)
- Build and note the location of your debug output file
Microsoft provides you with detailed instructions for this process. This is a lengthy document, so here are the steps I take when preparing an app for the store submission.
First, the sample template zip file originally sent to me was incorrect. It fails to include the required ImportConfig.xml in the PkgFolder. And, while not a mistake, you don't need the privacy.htm file included. Here are the steps I take AFTER I have the solution package built from Visual Studio.
- Need to have a 32x32 logo file! Be sure to get that ahead of time and the size must be 32x32.
- Create a folder called Package.
- Copy the dll and PkgFolder files from your debug build.
- Inside the PkgFolder, delete the /en folder. The only two files necessary are the managed solution zip. and the ImportConfig.xml file.
BE SURE THE ImportConfig.xml file is properly updated with your values.
- IMPORTANT: Add a the content_types xml file! Grab this file from the template folder (or a previous submission).
- Zip this and call it Package.zip. Be careful when you zip you don't get the parent folder. The inside of the zip should match the screenshot of step 5 exactly.
- Create another folder (I usually name it AppSource_<AppName>).
- In this folder, copy your Package.zip file you just created.
- Add the content types xml again, a license file, input.xml file, and the logo. All of these files are required.
- Be sure to update the input.xml file with your specific settings.
- Zip up the contents of this folder. The zip file will need to be placed on Azure and then a url created from to Azure storage which will be entered into the AppSource submission request.
The process of loading your app to the AppStore may appear intimidating at first. However, Microsoft and your service partner can assist you throughout the process and Microsoft is continuing to improve the entire submission process experience. While these tips don't cover every step required, hopefully they provide a jumpstart to some of the more common missteps we see.