cancel
Showing results for 
Search instead for 
Did you mean: 

FxCop does not let me drive because of the missing KeycodeDecoder.dll

Former Member
0 Kudos

Hello,

I'm using VSCR2010 SP2. As part of our software department process I run FxCop against my C# projects and on every compilation I do FxCop complains about missing KeycodeDecoder.dll:

Microsoft.FxCop.Sdk.FxCopException: The indirectly-referenced assembly 'BusinessObjects.Licensing.KeycodeDecoder, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' could not be found...

I searched SCN extensively and found [this thread|; with the exact problem I just described; unfortunately, the thread does not have any responses and is closed.

I also ran across another [thread|; where Ludek Uher explains that

KeycodeDecoder.dll does not impact any functionality of any app. E.g.; a non working right blinker on your car does not impact how your car drives...

I disagree with this argument as one can drive his car without a working blinker, but he will get a ticket from a police officer if this is noted. I cannot speak for other countries but in the US one cannot pass an annual car inspection with a not-working blinker.

FxCop is this inspection and unless itu2019s passed I cannot use my software.

Please fix it!

Vladimir

Accepted Solutions (1)

Accepted Solutions (1)

former_member183750
Active Contributor
0 Kudos

Hello Vladimir

Love your analogy. Just send me the ticket... Umm, I didn't say I'll pay for it

But seriously, looking at the 2nd thread you reference, I see my post that says;

It will be resolved in SP1.

Looking at resolved issue for SP1:

http://wiki.sdn.sap.com/wiki/x/DobCDQ

it confirms that the issue is resolved (ADAPT01500142) and documented in KB [1535792|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_bi/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/scn_bosap/notes%7B6163636573733d36393736354636443646363436353344333933393338323636393736354637333631373036453646373436353733354636453735364436323635373233443330333033303331333533333335333733393332%7D.do].

So now we have to make sure that your install is at SP2 as the way I see it, we have two possibilities here;

1) You are not on SP2

2) The thing was fixed in SP 1 and got broken again in SP2

Re. 1 above. What is the version of the crpe32.dll on your development computer? It should be in C:Program Files (x86)SAP BusinessObjectsCrystal Reports for .NET Framework 4.0CommonSAP BusinessObjects Enterprise XI 4.0win32_x86

Oh. BTW., the reason the first thread is not answered is beacuse it was closed by Geoffrey before we could answer.

Ludek

Follow us on Twitter http://twitter.com/SAPCRNetSup

Got Enhancement ideas? Try the [SAP Idea Place|https://ideas.sap.com/community/products_and_solutions/crystalreports]

Edited by: Ludek Uher on Mar 7, 2012 6:47 AM

Former Member
0 Kudos

Hi Ludek,

I believe it's #3, i.e. this issue is not fixed by either SP1 or SP2.

I was initially on SP1 and had this issue all along, yesterday I uninstalled SP1, installed SP2 and the issue is still there.

It is easy to reproduce even without FxCop, e.g. you can use Reflector.Net and see that BusinessObjects.Licensing.KeycodeDecoder.dll is referenced by CrystalDecisions.CrystalReports.Engine.dll, but it cannot be found:(

Btw, I actually e-mailed Geoffrey - he did not close his thread, at least on purpose, and is waiting for the response; meanwhile, we are sending all our tickets to you and informing the authorities:)

Vladimir

Edited by: Tramway on Mar 7, 2012 4:16 PM

Edited by: Tramway on Mar 7, 2012 4:16 PM

former_member183750
Active Contributor
0 Kudos

Hello Vladimir

Give me a few days to check into this. Got to get a few phone cases to clear out before I can do some testing etc.

- Ludek

Former Member
0 Kudos

Hello Ludek,

I'm wondering if you have researched this issue on your side and can confirm that it is #3. I would also greatly appreciate it if a hotfix or workaround can be provided.

Vladimir

former_member183750
Active Contributor
0 Kudos

Hello Vladimir

Thank you for reminding me. It has been very busy here, so no time for this. I'll make this my #1 priority tomorrow.

- Ludek

former_member183750
Active Contributor
0 Kudos

Hello Vladimir

I finaly got a bit of time to get to this issue. Here are my findings:

The original fix involved commenting out the keycodedecoder code, but it looks like the reference to the dll was left there (plus some methods) when compiling:

The above methods have a dependency on the keycode dll and I am not sure why they weren't removed either. The original issue from ADAPT01500142 was for a “Failed to load assembly” error. The FXCop problem is that our Engine dll has a reference to a dll that does not exist on the system, plus a few methods that in theory may not be used (unless we just use them to check for an internal keycode like with previous versions). I will submit this for a fix, but no guarantees that it will be fixed since the methods “might” need to be there for internal use. Once R&D has released an ADAPT number for us, I'll post it here. As far as ETA, we're looking at Service Pack 4 - mid year + at the earliest.

- Ludek

Former Member
0 Kudos

Hi,

I installed SP4 and I'm getting a similiar error still - I'm using sandcastle (dot net code documenter) and when I run a build it is giving me the following error

Unresolved assembly reference: BusinessObjects.Licensing.KeycodeDecoder (BusinessObjects.Licensing.KeycodeDecoder, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304) required by CrystalDecisions.CrystalReports.Engine

I have had to roll back to SP3 anyway as there is a problem in SP4 where text is not showing correctly in the report viewer - I've seen a post about that and that's not being fixed till SP5

Thanks for your help

G

former_member183750
Active Contributor
0 Kudos

Looks like the same issue. At this time the issue is tracked under reference number ADAPT01629826. The fix was not delivered in SP4 and is set to SP5 (ETA: November). However, this is a low priority issue and more than likely will slip to SP6 or perhaps even later.

- Ludek

Follow us on Twitter

Got Enhancement ideas? Try the SAP Idea Place

Share Your Knowledge in SCN Topic Spaces

Former Member
0 Kudos

Thanks for your reply,

as a workaround is it possible to download the KeycodeDecoder.dll and I can manually add it either to the GAC or add as a reference to my project?

Thanks,

G

former_member183750
Active Contributor
0 Kudos

I don't think the dll actually exists anywhere, not as version 13 anyhow.

- Ludek

Former Member
0 Kudos

We need the KeycodeDecoder.dll (and any other missing DLL's) as a ZIP file than we can download, unpack and reference to allow FXCOP and Sandcastle to run. I certainly do not want another service pack at this time. I have already downloaded the previously suggested service pack onto a spare PC only to find that it was the version of crystal reports that was already installed.

Please also see the thread at http://sandcastlestyles.codeplex.com/discussions/360116

Message was edited by: Ludek Uher Removed bold text. Not neccessary or acceptable. See the Rules of Engagement.

former_member183750
Active Contributor
0 Kudos

Clive, you got your answer. Spamming is not going to help. Really.

- Ludek

former_member183750
Active Contributor
0 Kudos

This issue is now resolved in SP5:

http://scn.sap.com/docs/DOC-7824

- Ludek

Former Member
0 Kudos

Ludek,

We got issue resolved using SP5 Merge Modules.

No longer need "BusinessObjects.Licensing.KeycodeDecoder.dll".

Thanks,

Sagar

Message was edited by: Sagar K

Former Member
0 Kudos

I am getting

"BusinessObjects.Licensing.KeycodeDecoder.dll" Error 4353 in the Application Log of a Windows 2003 Server.

This is with CRforVS SP6.

It's a simple EXE that prints an RPT, exports to PDF, and writes a log file.

I am able to provoke the error by simply declaring a new CrystalDecisions.CrystalReports.Engine.ReportDocument.

I do not see the error when run from my local WinXPsp3 development PC.

Judging from your prior posts, this is a trivial.  But I thought you'd want to know that it's crept back in to SP6.

former_member183750
Active Contributor
0 Kudos

Hmm - it was never my intent to trivialize the issue, after all I did raise this as a bug with R&D and the bug did get resolved in SP4. So, apologies for the perception.

Now, the interesting thing in this case is that the message is not there on a WIN XP computer, but it is on a WIN 2003 computer. Can you do a simple comparison of the runtimes using Modules? On both computers, the files should have version 13.0.6.x

- Ludek

Former Member
0 Kudos

Thanks for the quick response.

For "my.exe," Module comparison shows the following:

Different:

WinXP machine:  DATADEFMODEL.DLL v13.0.6.1027 dated 05/22/2013.

Win03 machine:  DATADEFMODEL.DLL v13.0.0.99 dated 10/24/10

Only In:

WinXP machine: (lots!)

former_member183750
Active Contributor
0 Kudos

Hello Alex

What that shows me is that teh WIN XP computer has SP 6. WIN 2003 has the original and thus unfixed version of CRVS. Make sure you deploy SP 6 to the WIN 2003 server:

http://scn.sap.com/docs/DOC-7824

- Ludek

Former Member
0 Kudos

Sorry to ask, but I have a very basic question:

I'm new to VS/VB/CR development, coming from Java.

Do you mean that even if my compiled EXE "Imports CrystalDecision.*" Namspaces, I still have to install the CR runtime MSI on any machine that runs my EXE, in order for the expected resources to be available?

Former Member
0 Kudos

Given the Modules info I provided the other day, I am surprised to see these old version numbers reported in the References section of VS on my XP desktop.

Shouldn't they report 13.0.6x ?

former_member183750
Active Contributor
0 Kudos

Ahhh - no worries - I got the monopoly on basic questions

But seriously. It does not matter if the app was compiled using SP 6. You still have to deploy SP 6 runtime. It may actually have worked better the other way in this case - compile with original build and run on the deployed box with SP 6 runtime as that is where things were fixed.

As far as the versions.There are actually two version numbers to consider with assemblies - assembly number (never changes. e.g.; no mater the SP, it will always be 13.0.2000.0. The there is the file version and teat will change depending on the SP. So, SP 6 would be something like 13.0.6.x. All normal in the .NET world - or so I'm told...

- Ludek

Former Member
0 Kudos

OK, this resolved the issue.

Thanks!

Former Member
0 Kudos

I've the same problem with SP 13.0.8.


Before reading this post I had a previous version of VBCR installed on the pc.

Now I've installed  Support Pack 8 (v. 13.0.8.1216) on the pc with Visual Studio and CRforVS_redist_install_32bit_13_0_8.zip on the client.

I've recompiled the program with the new service pack installed.

But the error is the same:

System.Runtime.InteropServices.COMException (0x8000044D):

Impossibile creare la connessione.

ReportPerDipendente {C5DE6D4F-6AFB-4E03-95F6-11420539AA00}.rpt

Dettagli:  [codice fornitore database: 4060 ]

And in the event log I see:

"...Impossibile caricare l'assembly di codice BusinessObjects.Licensing.KeycodeDecoder"

Any idea on how to solve the problem?

My PC is a 32bit computer and the client is a 64bit computer could be this the problem?

But both my program and the Runtime are 32bit.

Thank you very much

Claudio

former_member183750
Active Contributor
0 Kudos

Unless you are using FxCop, yours is a completely different issue.

Concentrate on the actual error: Dettagli:  [codice fornitore database: 4060 ]

This would translate to something like ' Database Vendor Code: 4060'

This is an error being passed from the DB client through the report engine, unmodified. E.g.; search your DB documentation for the error, or google the error to find a possible cause. One good place to start will be the following:

c# - Crystal Report throws 'Failed to open the connection.' only on postback - Stack...



- Ludek

Senior Support Engineer AGS Product Support, Global Support Center Canada

Follow us on Twitter

Answers (0)