locked
Plugins location RRS feed

  • Question

  • Hi,

    How to open a plugin that is registered? I want to open a plugin and make changes but I am not able to locate one of the plugins from the plugins list that I have. Where exactly are the plugins stored? Since that plugin is registered it should be located somewhere right?

    Thanks

    Monday, October 13, 2014 1:22 PM

Answers

  • if you do not have source code, then it might be a system plugin or one that came as part of a managed solution.

    1. ActivityFeeds.*

    2. Microsoft.CRM.ObjectModel

    the two above are system plugins, you will not have code access to.

    most plugin -based on the registration option, will sit in organizations database. So you will not see the dll files.

    if this doesn't help, please post a picture to help us.

    regards

    Jithesh

    • Marked as answer by ReignFan Wednesday, October 15, 2014 5:13 PM
    Tuesday, October 14, 2014 1:37 AM
  • Hi,

    Please elaborate further which plugin assembly? is it custom assembly or system assembly?

    Plugins are registered either Gac, Database or Local disc based on your option chosen while registration. You should have source code of the plugin with you to make the necessary changes. 

    If you don't have source code,

    - Check if You can export the Plugin assembly from CRM through Solution export.

    - Decompile the DLL and get the source code through decompiler tools.

    https://www.jetbrains.com/decompiler/features/ 

    http://www.red-gate.com/products/dotnet-development/reflector/

    Hope this helps!


    • Edited by Kalim Khan Tuesday, October 14, 2014 5:24 AM
    • Marked as answer by ReignFan Wednesday, October 15, 2014 5:13 PM
    Tuesday, October 14, 2014 5:24 AM
  • Hi,

    You select assembly and click on update button to check the deployment option.

    I think you can export the Assembly from CRM by creating solution and adding dll.

    Thanks!

    • Marked as answer by ReignFan Wednesday, October 15, 2014 5:12 PM
    Wednesday, October 15, 2014 3:16 PM
  • Assuming the assembly code is REALLY lost:

    If the assembly has not been registered in the database, you should be able to find the assembly on the CRM Server in:

    C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly

    If it has been registered in the database and it cannot be found in the above location create a solution with it and export the original assembly out to a file.

    In either case you will then need to run a CLR disassembler (like ILSpy) against the assembly you found/created to retrieve the original C# code, and use it to recreate the project in Visual Studio.

    You will then be able to modify the project and re-load using the Plugin Registration Tool (assuming the signing key you use is the same as the original).

    All this is definitely not newbie stuff.  If the functionality is not really complex you may want to consider just recreating it from scratch.

    • Marked as answer by ReignFan Wednesday, October 15, 2014 5:12 PM
    Wednesday, October 15, 2014 3:18 PM

All replies

  • Plugins are registered when you register a plugin assembly.  You must have access to the assembly's code (either C# or VB) in order to modify it.  Then you can upload the modified code using the Plugin Registration Tool.  If you are not well-versed in working with code, you may want to make your customizations as part of a Workflow.  For that you will go to Settings>>Customizations>>Processes to create/modify a Workflow.

    Monday, October 13, 2014 1:47 PM
  • I do have access to the assembly code. I was actually given the assemblies to look into as I am new here. But I wanted to look at one specific plugin which is not in the assembly list but it is registered.

    So, I am looking at finding that particular plugin. Is there a specific location on the server that I can go and look for the plugins that are registered.

    Thanks

    Monday, October 13, 2014 1:57 PM
  • The Plugin Registration Tool should give you information on all the plugins and their related assemblies that have been registered.
    Monday, October 13, 2014 1:59 PM
  • Are you referring to the plugin assembly (a .Net assembly dll), or a plugin type (a public class that inherits from IPlugin) ?

    When a plugin assembly is registered, you can choose which plugin types within the assembly you want to register


    Microsoft CRM MVP - http://mscrmuk.blogspot.com/ http://www.excitation.co.uk

    Monday, October 13, 2014 8:27 PM
    Moderator
  • Hi,

    I am referring to plugin assembly.

    Thanks

    Monday, October 13, 2014 8:32 PM
  • if you do not have source code, then it might be a system plugin or one that came as part of a managed solution.

    1. ActivityFeeds.*

    2. Microsoft.CRM.ObjectModel

    the two above are system plugins, you will not have code access to.

    most plugin -based on the registration option, will sit in organizations database. So you will not see the dll files.

    if this doesn't help, please post a picture to help us.

    regards

    Jithesh

    • Marked as answer by ReignFan Wednesday, October 15, 2014 5:13 PM
    Tuesday, October 14, 2014 1:37 AM
  • Hi,

    Please elaborate further which plugin assembly? is it custom assembly or system assembly?

    Plugins are registered either Gac, Database or Local disc based on your option chosen while registration. You should have source code of the plugin with you to make the necessary changes. 

    If you don't have source code,

    - Check if You can export the Plugin assembly from CRM through Solution export.

    - Decompile the DLL and get the source code through decompiler tools.

    https://www.jetbrains.com/decompiler/features/ 

    http://www.red-gate.com/products/dotnet-development/reflector/

    Hope this helps!


    • Edited by Kalim Khan Tuesday, October 14, 2014 5:24 AM
    • Marked as answer by ReignFan Wednesday, October 15, 2014 5:13 PM
    Tuesday, October 14, 2014 5:24 AM
  • Hi,

    It is a custom plugin assembly. I don't see any option to export this particular assembly.

    I don't have source code because it was developed by someone before. Unfortunately, there are no particular records or documents kept organized here.

    I can actually do nothing when I select any assembly like export or look at its properties and location.

    I am still learning CRM, so please excuse for my dumb questions.

    Thanks

    Tuesday, October 14, 2014 7:39 PM
  • Ok, can you please post a picture of your plugin registration tool with this dll and its steps?. Are you looking at the solution on the website?.

    regards

    Jithesh

    Tuesday, October 14, 2014 10:25 PM
  • I am looking in the plugin registration tool itself..

    Thanks

    Wednesday, October 15, 2014 2:40 PM
  • Hi,

    You select assembly and click on update button to check the deployment option.

    I think you can export the Assembly from CRM by creating solution and adding dll.

    Thanks!

    • Marked as answer by ReignFan Wednesday, October 15, 2014 5:12 PM
    Wednesday, October 15, 2014 3:16 PM
  • Assuming the assembly code is REALLY lost:

    If the assembly has not been registered in the database, you should be able to find the assembly on the CRM Server in:

    C:\Program Files\Microsoft Dynamics CRM\Server\bin\assembly

    If it has been registered in the database and it cannot be found in the above location create a solution with it and export the original assembly out to a file.

    In either case you will then need to run a CLR disassembler (like ILSpy) against the assembly you found/created to retrieve the original C# code, and use it to recreate the project in Visual Studio.

    You will then be able to modify the project and re-load using the Plugin Registration Tool (assuming the signing key you use is the same as the original).

    All this is definitely not newbie stuff.  If the functionality is not really complex you may want to consider just recreating it from scratch.

    • Marked as answer by ReignFan Wednesday, October 15, 2014 5:12 PM
    Wednesday, October 15, 2014 3:18 PM
  • Thanks everyone. I really appreciate your prompt responses. Will keep you posted.
    Wednesday, October 15, 2014 5:12 PM