Select the search type
  • Site
  • Web
Search
You are here:  Support/Forums
Support

Bring2mind Forums

Ver 5.2.9 ComponentArt issues
Last Post 08/04/2010 10:34 PM by Peter Donker. 6 Replies.
Sort:
PrevPrev NextNext
You are not authorized to post a reply.
Author Messages
Pete
New Member
New Member
Posts:7


--
07/20/2010 11:32 PM

I've run into a problem installing the latest version of DMX (5.2.9).

It's the same issue listed in the following thread.

http://www.bring2mind.net...id/5814/Default.aspx

Our code uses a slightly different version of the ComponentArt DLL

The new version no longer uses the Bring2Mind.ComponentArt.Web.UI.DLL, but instead uses the default ComponentArt.Web.UI.DLL, which overwrites the version of the DLL we're using for a custom module we wrote.

Is there a solution in place for this? In the above thread you mention "In the meantime the only possibilty I see is if we fork one or the other module". What does this mean, and can we use it to solve our issue?

Thanks.

Peter Donker
Veteran Member
Veteran Member
Posts:4536


--
07/21/2010 8:58 PM
Hi Peter,

There still is no solution from the component vendors. Forking is actually not an option. You might be able to do something with the GAC or in the web.config (wiring the lookup of a specific version of a dll to another). You'll need to research this as I've not done this before. Finally you could have your own ComponentArt dll (i.e. one that is licensed to that server) as long as it has a higher version. Then DMX should be able to use that.

Peter
Pete
New Member
New Member
Posts:7


--
07/27/2010 1:05 AM
I tried installing our version of ComponentArt.Web.UI in the GAC, but this still breaks DMX. I can’t install the 2008.2.1204.3 version in the GAC because the ComponentArt.Web.UI.dll distributed with DMX is not a strong named, it has no "publicKeyToken" token.

I tried using the "bindingRedirect" element in the web.config file:






This could fix the issue, but I can't redirect calls to the 2008.2.1204.3 version and send them to the 2008.2.1267.3 version because again the 2008.2.1204.3 is not strong named and you must specify a "publicKeyToken" in

If I try to redirect calls to the 2008.2.1267.3 version and send them to the 2008.2.1204.3 it still breaks our custom module, I get an error that the ComponentArt.Web.UI dlls is only for use with a single application, meaning that the version distributed with DMX can only be used by DMX
Roger Martin
New Member
New Member
Posts:6


--
08/04/2010 5:57 PM

Assuming you have access to the ComponentArt source code, couldn't you add your own namespace to the code and compile it to a unique name (e.g. Bring2mind.ComponentArt.Web.UI.dll)? You would have to update your references to the updated namespace, but it might help prevent assembly collisions between module vendors.

There is one more complication: ComponentArt requires an application variable named "ComponentArtWebUI_AppKey". If there are multiple versions of ComponentArt.Web.UI.dll, they might fight over it. The solution is to modify the ComponentArt source code to use a unique variable name.

Cheers,
Roger

Peter Donker
Veteran Member
Veteran Member
Posts:4536


--
08/04/2010 9:07 PM
Hi Roger,

I have tried that before but this did break some functionality. The older DMX modules have this altered dll. But it wouldn't work under asp.net 3.5 for a start.

Peter
Roger Martin
New Member
New Member
Posts:6


--
08/04/2010 9:16 PM

 I am very curious as to what the trouble was. I am getting close to commercially releasing a DNN module that uses the ComponentArt dll, and I was planning to make the changes I described to prevent potential conflicts with modules (such as yours).

Roger
Gallery Server Pro
www.galleryserverpro.com

Peter Donker
Veteran Member
Veteran Member
Posts:4536


--
08/04/2010 10:34 PM
Hi Roger,

One thing that is difficult is the JS scripts. You get the src code but the JS scripts are obfuscated/compressed. I'm not sure about excluding the JS scripts from the rename as they talk with the component as well. I do a search and replace to inject the namespace but any issue with the JS scripts is then near impossible to debug. Let me know what you find. I just couldn't get it to work under .net 3.5 and was left baffled as to why *that* would have an impact.

Peter
You are not authorized to post a reply.