Dataverse Plug-in Assembly Registration

Dataverse Table and Column for Plug-in Assembly Information

Question

You register the Dataverse plug-in assembly using the Plug-in Registration Tool.

What table and column does the Dataverse store the information about the assembly and its binary image?

Answers

Explanations

Click on the arrows to vote for the correct answer

A. B. C. D. E. F.

Correct Answers: A and F

When you register the assembly using the Dataverse Plug-in Registration Tool, the Dataverse stores information about the registered assembly in the PluginAssemblies table.

It also uploads the assembly's binary image in the Content column.

Suppose you register the FollowupPlugin.

Aa

Hb CREATE NEW CONNECTION G RELOAD ORGANIZATIONS | (REPLAY PL

vvrwvwrowrewrowreowreowrowreyws»y

CBTrial x

[iRegister + [QView ~» x Uninstall Profiler £4 Debug [% Unn

Registered Plugins & Custom Workflow Activities

@ (Assembly) Microsoft.Dynamics.AppModule.Plugins

@ (Assembly) Microsoft. Dynamics.CDS.AuthorizationCorePlugins
@ (Assembly) Microsoft. Dynamics.CDS.MetadataExtensionPlugins
@ (Assembly) Microsoft.Dynamics.CDS.PSqlPlugins

@% (Assembly) Microsoft.Dynamics.ComponentHistory.Plugins

@ (Assembly) Microsoft.Dynamics.Enterprise.Connectors.Plugin

% (Assembly) Microsoft. Dynamics.EnvironmentVariables.Plugins

@ (Assembly) Microsoft. Dynamics.KMOnlineFeatures.Plugins

@ (Assembly) Microsoft.Dynamics.KnowledgeArticleFeatures.Plugins
@ (Assembly) Microsoft. Dynamics.MicrosoftFlow.Plugins

@ (Assembly) Microsoft.Dynamics.PowerAppsChecker.Plugins

@ (Assembly) Microsoft. Dynamics.PowerPlatformConnectionReferences.Plug

Properties Details

Register New Assembly

Step 1: Specify the location of the assembly to analyze |
C:\Users\AndreiSergeev\OneDrive - CloudBreezy\Dev\Power Platform\Power Apps\PowerApps

Load Assembly

Step 2: Select the plugin and workflow activities to register
Vv Select All / Deselect All

@ (Assembly) FollowupPlugin

v7) Tm} (Plugin) PowerApps.Samples.FollowupPlugin - Isolatable

Step 3: Specify the isolation mode

@) Sandbox ©

None

Step 4: Specify the location where the assembly should be stored

@) Database @ 7
Disk

GAC

Step 5: Log

|

Register Selected Plugins Close Bn: |

After the registration, you can verify this plugin in the Power Apps classic interface under the Default Solution (Number 1) and Plug-in Assemblies sub-section (Number 2)

In the plug-in browser, you can see just the registered assembly and its information (Number 3).

rie | lel Eek Save and Close =, =} Show Dependencies | Export Solution PeTransiations ~ | |g} Publish All Customizations 4, Actions + (@Help +

‘ Solution: Default Solution Oo
[¥ «2 Plug-in Assemblies

Solution Default Solution

Component Type Plug-in Assembly v View Customizable v
YF Information
fg Components
& Entities O Name “ Version Culture Public Key Token Isolation Mad...| Created On Modified On Y Oo
BI option sets
*®| Client Extensions
[9] Web Resources

+a How to Register Assemblies X Delete 3 Show Dependencies = Solution Layers (Sf Managed Properties More Actions ~

Pro Microsoft.CDS.ApplicationUser.Plugins 1.0.0.0 neutral 31bf3856ad364e35 None 4/10/2021 8:07 AM 4/10/2021 8:07 AM
S

2 FollowupPlugin Microsoft.CDS.Catalog.Plugins 9.0.0.0 neutral 31bf3856ad364e35 None 4/10/2021 9:01 AM 4/10/2021 9:01 AM

+ Microsoft.CDS.ApplicationUser.Plugins

“i Microsoft.CDS.Catalog. Plugins Microsoft.CDS.CustomAPI.Plugins 9.0.0.0 neutral 31bf3856ad364e35 None 4/10/2021 9:02 AM 4/10/2021 9:02 AM

~G@ Microsoft.CDS.CustomAPI.Plugins i

+ Microsoft.CDS. DataLakeWorkspaces. Plugins 1 Microsoft.CDS.OrganizationDataSync.Plugins 1.0.0.0 neutral 31bf3856ad364e35 Sandbox 4/10/2021 9:05 AM 4/10/2021 9:05 AM

+a Microsoft.CDS.OrganizationDataSync.Plugins

+i Microsoft. Dynamics.AppModule. Plugins Microsoft. Dynamics.ComponentHistory.Plugins 9.0.0.0 neutral 31bf3856ad364e35 None 4/10/2021 7:50 AM 4/10/2021 7:50 AM

+ Microsoft.Dynamics.ComponentHistory. Plugins

+ Microsoft. Dynamics.KMOnlineFeatures.Plugins Microsoft. Dynamics.KMOnlineFeatures.Plugins 9.1.0.0 neutral 31bf3856ad364e35 Sandbox 4/10/2021 8:51 AM 4/10/2021 8:51 AM

+ Microsoft.Dynamics.KnowledgeArticleFeatures.Plugins

“Gi Microsoft. Dynamics.PowerAppsChecker. Plugins Microsoft.Dynamics.KnowledgeArticleFeatures.Plugins 9.1.0.0 neutral 31bf3856ad364e35 None 4/10/2021 8:53 AM 4/10/2021 8:53 AM

+ Microsoft.Dynamics.PowerPlatformConnectionReferenc...

+ Microsoft. Dynamics.PowerVA.Plugins Microsoft. Dynamics.PowerAppsChecker. Plugins 9.0.0.1 neutral 31bf3856ad364e35 None 4/10/2021 9:27 AM 4/10/2021 9:27 AM

+ Microsoft. Dynamics.ServiceManagementControlsExten...

7G Microsoft. Dynamics.SLAManagement.Plugins Microsoft.Dynamics.PowerPlatformConnectionReferen... 1.0.0.0 neutral 31bf3856ad364e35 None 4/10/2021 8:19 AM 4/10/2021 8:19 AM

+ Microsoft.Dynamics.SolutionComponentConfiguration....

iad ete yrratiis SOu rote yg Microsoft. Dynamics.PowerVA. Plugins 1.0.0.0 neutral 31bf3856ad364e35 None 4/10/2021 8:23 AM 4/17/2021 12:49 AM

Gj Microsoft. Dynamics.SolutionPackageMapping. Plugins

sie Microsote: Dynamics solution sur mary Fuqiis Microsoft.Dynamics.ServiceManagementControlsExten... 9.1.0.0 neutral 31bf3856ad364e35 None 4/10/2021 8:45 AM 4/10/2021 8:45 AM

+ Microsoft.Dynamics.UCICalendar.Plugins
+i Microsoft.Xrm,DataProvider.JsonConverter.Plugins 1-23 of 23 (0 selected) rr Page 1 >

You can also query the PluginAssemblies table using the Dataverse Web API, like

GET https://yourorg.crm.dynamics.com/api/data/v9.2/pluginassemblies?$select=createdon,culture,customizationlevel,description, isolationmode,major,minor,modifiedon,name,pluginassemblyid,publickeytoken,version,content&$filter=name eq ‘FollowupPlugin'

The query result includes information about the plug-in, like a description (Number 1) and a name (Number 2) plus the binary code in the Content column (Number 3).

at
2  "“@odata.contex “httos: _ 2229. crm.dynamics.com/api/data/
v9.2/$metadata createdon, culture, customizationlevel, description, isolationmode, major,minor,modifiedon, name, pluginassemblyid, publickeytoken, version, content)",

3 "value": [

A {

5 “@odata.etag": "W/\"1222708\"",

6 “"createdon": "2021-04-22T05:38:22Z",
7 "culture": "neutral",

4 i

9

10
11
12
13
14
15 e 67€b300-607c—41e0-81f3-2edc3a632711",
16 “pub lickeytoken" "q16085de1572831",

ae
18 q
BAALGAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARAARAAAQARAAAAfugAAtAnNIbgSTMOhVGhpcyBwcnncnFtTGNhbn5vdCBiZSBydW4gaW4gRESTIG1vZSUUDQOKJAAAAAAAAABORQAATAEDAL/
f#XGAAAAAAAAAAADAAT iALATAAABIAAAAGAAAAAAAA j EAAAAgAAAAQAAAAAAAEAAGAAAAAGAABAAAAAAAAAAGAAAAAAAAAACAAAAAAGAANZCAAAMAY TUAABAAABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAGWXAABPAAAAAEAAANGDA

AAAAAAAAAAAAAAAAAAAAAAAAGAAAAWAAAA OMAAAHAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAAACAAAAAAAAAAAAAAACCAAAEGAAAAAAAAAAAAAACS @ZXh OAAAAXBEAAAAQAAAAEGAAAATAAAAAAAA
BB AAARAAAACARAGAUCOMY (8RAANG DAAAAQAAAAAQAAAAUAAAAAAAAAAAAAAAAAABAAABALN I (HG) DORI AARNAGAAD BAC ABAD GAAROAAAARABARADDADADABAD AAA AAAABARAAAARAARAATONOARAAADN EO ARAR CAAUAT CL ART ONAAATA

All other options are incorrect.

For more information about the Dataverse plug-in assembly registration, please visit the below URLs:

When you register a plug-in assembly using the Plug-in Registration Tool in Dataverse, the information about the assembly and its binary image is stored in the PluginAssembly table in the Dataverse database.

The PluginAssembly table is a system table that contains information about all the assemblies that have been registered in the Dataverse instance. It has a one-to-many relationship with the PluginType table, which contains information about the individual plug-ins that are part of the assembly.

The PluginAssembly table has several columns that contain information about the registered assembly, including the following:

  • AssemblyId: A globally unique identifier (GUID) that identifies the assembly in Dataverse.
  • Name: The name of the assembly, as specified when the assembly was registered.
  • SourceType: The type of the assembly, such as a .NET assembly or a custom workflow activity.
  • Culture: The culture of the assembly, such as "en-US" or "fr-CA".
  • PublicKeyToken: The public key token of the assembly, which is used to verify the assembly's authenticity.
  • Content: The binary image of the assembly, which is stored as a base64-encoded string.
  • IsolationMode: The isolation mode that is used when the plug-in is executed, such as sandbox or none.
  • Version: The version number of the assembly.

In summary, the information about the assembly and its binary image is stored in the PluginAssembly table, and the relevant column that stores the binary image is called "Content".