Skip to main content

Notifications

Announcements

No record found.

Steps to be on Microsoft App Source Portal--Consolidated

You Want to Publish your app on Microsoft AppSource  portal, and if you are not already a member of the Microsoft Partner Center, you must become a member by enrolling at https://aka.ms/joinmarketplace. Simple follow those steps to create and publish app on postal:

  1. Create a managed solution including the components of your product.
    1. Create a solution and Add the limited functionality in this solution you want to show to end user and. So user can download and run and basic level flow and view the functionality of your products.  Add all the required components in that solution and in case you are using any external DLL then please add in that managed solution or add the as separate managed solution.
    2. Test this managed solution in a separate organization to validate all components added successfully and no dependency anymore.
  2. Create a Configuration data Migration package by using the Microsoft Devtools. You can download from Microsoft Configuration Migration Tools. Extract the downloaded DLL and use the Configuration Migration Tool. Or you can use this video for reference how to use the Configuration Migration Tool.
  3. When Configuration Package is ready then the next step is to create the Deployment Package.
    1. Ensure the following things are ready before starting solution packaging:
      1. Your CRM Managed solution
      2. Configuration migrations data package.
      3. Microsoft .NET Framework 4.6.2
      4. Visual Studio 2012, Visual Studio 2013, or Visual Studio 2015
      5. NuGet Package Manager for Visual Studio 2012Visual Studio 2013, or Visual Studio 2015
      6. Microsoft Dynamics 365 Customer Engagement (on-premises) SDK Templates for Visual Studio that contains the package template. You can get it by downloading the Microsoft Dynamics 365 Customer Engagement (on-premises) SDK Templatesand double-click the vsix file to install the template in Visual Studio.
    2. Create a project using CRMSDKTemplates. And add all solution components like CRM Managed solution and configuration migration data package in that project. See Create packages for the Dynamics 365 Package Deployer for more detail. After project creation do the following configuration before build.
      1. Change the framework from solution properties to 4.6.2.
      2. Add solution name in ImportXML configuration file.

6763.png

7713.png

C. Set the solution components properties “Copy to Output Directory” to “Copy always.”

2570.png

After you have created a package, your package will consist of the following things:

  • <PackageName> folder: This folder contains all solutions, configuration data, flat files, and the contents for your package. For example: PkgFolder.
  • <PackageName>.dll: The assembly contains the custom code for your package. For example: SamplePackage.dll.

3276.png

  1. Next, create a [Content_Types].xml file that includes the MIME type information of the file type extensions. This file is separate from your deployment package will add in your App Source Package.


  
  
  
  
  
  
  
  
  

  1. Add the above prepared files into Compress (zip) file named as “zip”:
    1. Package folder (PkgFolder) from deployment package contains all solution components like CRM managed solution, etc.
    2. deployment package dll (SamplePackage.dll)
    3. [Content_Types].xml

1588.png

  1. Next, you keep the file [Content_Types].xmlthat you created in the previous section under step 2 and reuse it.
  2. Next, is to create an icon of 32X32 of your product have the PNG and JPG file format.
  3. Create an HTML file containing your license terms. You can have multiple HTML files if your application support multiple languages.
  4. Next, Create an XML file with named “input.xml”. That file contains the information of your package and content of the package.


  Microsoft
  package.zip
  SampleSolution.zip
  12/01/2017
  01/01/2021
  US,CA
  https://www.microsoft.com
  
    
      logo32x32.png
      
        
      
    
  

Like package name “package.zip” and “SampleSolution.zip” is your CRM solution that contains the components of your CRM solution and Start date and End date and supported currencies etc.

  1. Add all the components (zipped package, content.xml, Term Of user, Input and 32X32 Icon) into a zip folder. And rename Zip folder to your company name and your app name whatever you like for example “zip”.

2538.png

Note: To perform all steps mentioned next need to perform the

  1. Then now the major step is to store your App Source package on azure Storage and generate a URL with SAS key.
    1. Download and install the Microsoft Azure Storage Explorer from https://storageexplorer.com. Azure Storage Explorer lets you easily manage the contents of your storage account.
    2. Create a free trial using https://azure.microsoft.com.
    3. Sign in to Azure Management portal at https://portal.azure.com.
    4. Create a new Storage account by clicking > StorageStorage account - blob, file, table, queue. Enter the name of storage account
    5. After creating storage account create a container of blob type.
    6. 8306.png
    7. After creating container then login to “Microsoft Azure Storage Account” using the same credentials used for login to “Azure portal” for creating storage account. And open the recently created account.
    8. Upload file the Zip files created in above steps.
    9. 7266.png
    10. Select the uploaded file and right click the file and get the select Get Shared Access Signature.
    11. For “shared Access Signature” pop-up permissions give the read and List rights.
    12. 1030.png
    13. Create the access signature. And Generate the access URL and keep that URL and key for future use in configuration on Microsoft app source portal.
    14. 1067.png

For More details check the referenced link. store-appsource-package-azure-storage

  1. Next, your Azure subscription for Dynamics 365 for Customer Engagement Microsoft Hosted Test Drives
    1. Login to Azure Portal with the same Admin account using above for configuration- https://portal.azure.com
    2. Verify you are in the tenant associated with your Dynamics 365 Test Drive instance by hovering your mouse over your account icon in the upper right corner. If you are not in the correct tenant, click on the account icon to switch into the correct tenant.
    3. Verify you have Dynamics 365 Customer Engagement Plan license available.
    4. 1651.jpg
    5. Select Azure Active Directory in the filter pane and Search for App registration in Azure portal.
    6. Create new app registration and add the appropriate application information.
    7. Select radio button - "Account in any organization directory and personal Microsoft account" under Supported account types
    8. When application is successfully. Copy and Keep it for the future use in Microsoft portal configuration.
    9. 0535.png
    10. Navigate to API permissions under Manage Application.
    11. 3733.png
    12. Click on Add a permission button and select Microsoft Graph API.
    13. 2772.png
    14. Click on Application permission category and select Directory. Read.All and Directory.ReadWrite.All permissions.
    15. 1108.png
    16. Click on add permission button again to add Dynamics CRM API – and add User impersonation access for whitelist Azure AD app.
    17. 6406.png
    18. Once the permission is added successfully, click on "Grant admin consent for Microsoft" button under Grant consent followed by click on "Yes" button on the prompt message alert.
    19. 5367.png
    20. Generate a secret for the Azure AD App. Navigate to 'Certificate and secrets' under Manage Application.
    21. Click on New client secret button under Client secrets.
    22. 7317.png
    23. Provide a valid description (example - "Test Drive") and select an appropriate duration. Be aware that your Test Drive will break once this Key expires and you will need to generate and provide to AppSource a new key when this happens.
    24. Click on Add. This should generate the Azure App Secret. Copy this value as it will be hidden as soon as you navigate away from this blade. You will need this value later when configuring your Test Drive.
  1. Next, Major step is to Add Service Principal role to application to allow the Azure AD App to remove users from your Azure tenant.
    1. Open the power shell in an Administrative mode by doing “Run as Administrator”.
    2. Run this command “Install-Module MSOnline” to install the MS Online if not already installed.
  • Then Command “Connect-MsolService”. After executing this command Pop-up screen will open. Then enter the credentials for login on newly created tenat.
  1. Then Run command “$applicationId = "<YOUR_APPLICATION_ID>"”.
  2. Run command “$sp = Get-MsolServicePrincipal -AppPrincipalId $applicationId
  3. Run Command “Add-MsolRoleMember -RoleObjectId fe930be7-5e62-47db-91af-98c3a49a38b1 -RoleMemberObjectId $sp.ObjectId -RoleMemberType servicePrincipal
  1. Next, perform some steps at CRM ends. Add application user in CRM for your CRM instance Test drive.
    1. Login to CRM instance and navigate to Setting -> Security -> Users
    2. Create a New user and change the form to application user.
    3. Add the user name and primaray email and Application ID as we copy during app registration.

1184.png

d. Application ID URI and Azure Object ID.

e. Enter the full name as want the full name of you test drive user.

f. Add the ‘Systems Administrator’ role for this user.

g. Create a new Role for your test drive and with below two rights and assigned this newly created role to your user.

4846.png

For more detail see: Setup-your-Azure-subscription-for-Dynamics365-Microsoft-Hosted-Test-Drives

  1. When all steps completed to setup your app then last and final step is to create an offer on partner center to submit your App. you can see the detail of SaaS Ofer Creation cehcklist for more detail:

All apps that are submitted to be listed on AppSource go through a certification process. For information about the checks done in the certification process, see Appendix: App certification checklist.

Comments

*This post is locked for comments