Ticket Q202166
Visible to All Users
Duplicate

We have closed this ticket because another page addresses its subject:

Loader Engine - Product modules defined inside plugins are not loaded to the DXCore product manager

How Do You Implement a ProductModule?

created 16 years ago

I am the author of the DXCore plugin "CR_Documentor." As part of the plugin, under DXCore 3.0.8.0, I had an implementation of the DevExpress.CodeRush.Common.ProductModule so the plugin information and logo would appear in the "About" box.
The interface for the ProductModule class changed in version 9.1.2.0 and simply implementing [what appears to be] the correct changes for the interface don't allow my information to appear in the "About" box.
I have marked my assembly with the following attributes:
[assembly: DXCoreAssembly(DXCoreAssemblyType.PlugIn, "CR_Documentor")]
[assembly: DXCoreProduct(typeof(CR_Documentor.CR_DocumentorProductModule))]
[assembly: DXCoreAuthorizedAssembly(LoadAuthorization.AllProducts)]
The use of the DXCoreAuthorizedAssemblyAttribute is a guess on my part; it appears to be there in all of the working assemblies that properly display product module information. The other two items remain unchanged from the 3.0.8.0 engine implementation and seem to be the same in the latest version.
I have a class that derives from ProductModule as noted in the DXCoreProductAttribute declaration above. For the 9.1.2.0 engine I've had to add an empty "BuildDefenition" method override as well as a getter for a ModuleType property which I have set to return ModuleTypes.Free (it's a free product).
Unfortunately, this doesn't seem to be enough. I have tried strong naming/signing my plugin assembly since Reflector shows me that there's something around the "plugin key" in the ProductManager class but that didn't fix anything and I noticed other successful implementations of the ProductModule don't seem to deal with that anyway.
What are the steps I need to take to get the ProductModule working? I need to get this fixed so I can release a version that works with the latest DXCore.

Show previous comments (5)
DevExpress Support Team 16 years ago

    Hi Travis,
    Our developers have made several changes, and a product module, defined in the plug-in's assembly (e.g. please look at the attached sample) should now be loaded correctly. Please look at the following bug report:
    ID: B36747, Loader Engine - Product modules defined inside plugins are not loaded to the DXCore product manager
    These changes will be included in the next product version. If it is a matter of urgency for you, you can click the "Request Fix" button. We'll publish the corresponding daily build, containing the necessary changes.
    Thanks,
    Vito

      PERFECT! Thanks!

        Question answered. I'll request the fix and verify the fixed functionality.

        Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

        Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.