Link X++ modules from ISV packages by using ISV Studio

Independent software vendors (ISVs) can link their X++ modules to their registered products and solutions by using Microsoft Power Platform ISV Studio. Linking enables ISV's to monitor the success and usage of their applications in finance and operations apps.

Note

For the link from X++ into ISV Studio to work correctly, customers need to have deployed ISV packages with the correct solution ID in all the ISV models. The customer's environment also has to be version 10.0.16 or higher.

Find the product ID in Microsoft Partner Center

Sign in to Partner Center and open the Offer overview page for your product. From the browser's URL bar, locate the product ID globally unique identifier (GUID), as shown in the following example.

https://partner.microsoft.com/dashboard/commercial-marketplace/offers/<product-ID-GUID>/overview

Note

The product ID does not necessarily match the offer code of your product, although they may be similar. Using the offer code in your descriptors will not correctly identify your X++ modules to ISV Studio.

Update your X++ model descriptors

For all models that make up your solution, locate the descriptor XML files. For every descriptor that belongs to a solution, update the SolutionId tag with the product ID from Partner Center. The order of the elements must match the following example to get the expected results.

<?xml version="1.0" encoding="utf-8"?>
<AxModelInfo xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
    <AppliedUpdates xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
    <Customization>Allow</Customization>
    <Description>test2</Description>
    <DisplayName>AwesomeISV</DisplayName>
    <Id>999999999</Id>
    <InternalsVisibleTo xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" />
    <Layer>8</Layer>
    <Locked>false</Locked>
    <ModelModule>AwesomeISV</ModelModule>
    <ModelReferences xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" i:nil="true" />
    <ModuleReferences xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
        <d2p1:string>ApplicationFoundation</d2p1:string>
        <d2p1:string>ApplicationPlatform</d2p1:string>
    </ModuleReferences>
    <Name>AwesomeISV</Name>
    <Publisher>Awesome ISV, Inc.</Publisher>
    <!-- Replace product-ID-GUID with the product ID from Partner Center. -->
    <SolutionId>product-ID-GUID</SolutionId>
    <VersionBuild>3</VersionBuild>
    <VersionMajor>1</VersionMajor>
    <VersionMinor>2</VersionMinor>
    <VersionRevision>4</VersionRevision>
</AxModelInfo>

After you recompile, the X++ binaries will contain the product ID and will link to ISV Studio after they are deployed to a Tier 2+ sandbox or production environment.