Re: Why is beidlib.dll no longer installed into system32 anymore

749 views
Skip to first unread message

fvernelen

unread,
Sep 7, 2012, 3:50:35 AM9/7/12
to eid-middl...@googlegroups.com
Hello Yves,

The beidlib.dll is still installed with version 4.0.4 of the eid middleware.
It is a library used by the former SDK, and only available in 32 bit,
therefore you will find it in the SysWOW64 folder on a 64 bit system,
instead of in the system32 folder (on a 32 bit Windows OS).

Wkr,
 Frederik

On Thursday, September 6, 2012 8:55:16 PM UTC+2, YvesT wrote:
Just noticed that this file is no longer installed anymore.
Seems close to impossible also to find the file.

Was using this to program in VS2010.
But since i no longer have it in my system32 folder its throwing me errors.
Neither the Middleware Eid installer or the Eid SDK include the beidlib.dll

Could anybody please let me know how or where you can find this dll now?

Thanks

YvesT

unread,
Sep 7, 2012, 5:47:19 AM9/7/12
to eid-middl...@googlegroups.com
Ah stupid of me i completely forgot about that directory.

Your right the file can be found there.
Did they ever add a library for 64bit?

Though any idea why it causes Visual studio to crash when you add a reference to that file?

This is the error you get from VS

A reference to 'C:\Windows\SyWOW64\beidlib.dll' could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.

Problem signature:
  Problem Event Name:    BEX
  Application Name:    devenv.exe
  Application Version:    9.0.21022.8
  Application Timestamp:    47317b3d
  Fault Module Name:    BEIDWINSCARD.dll_unloaded
  Fault Module Version:    0.0.0.0
  Fault Module Timestamp:    45d9b0cd
  Exception Offset:    0a780fa0
  Exception Code:    c0000005
  Exception Data:    00000008
  OS Version:    6.1.7601.2.1.0.256.1
  Locale ID:    1033
  Additional Information 1:    ce89
  Additional Information 2:    ce89967dcf05ea21ef060c151e95dd83
  Additional Information 3:    37d3
  Additional Information 4:    37d3381b5630a280331b370d7332d98d

Read our privacy statement online:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409

If the online privacy statement is not available, please read our privacy statement offline:
  C:\Windows\system32\en-US\erofflps.txt

 

Thanks
Regards
Yves

fvernelen

unread,
Sep 7, 2012, 7:00:57 AM9/7/12
to eid-middl...@googlegroups.com
Hello,

No 64 bit version of beidlib.dll was ever made,
instead the sdk 4.0 was created (with 64 bit libs) which is based on the pkcs11 standard.

More info on the SDK 4.0 can be found here: http://eid.belgium.be/nl/eid-toepassingen_ontwikkelen/eid_software_development_kit/

In regards to Visual Studio not adding the beidlib.dll to your project:
Perhaps you are adding this 32bit lib to the project in the project's 64 bit configuration?

Wkr,
 Frederik

YvesT

unread,
Sep 7, 2012, 7:42:29 AM9/7/12
to eid-middl...@googlegroups.com
Yeah  i considered the possibility of making that mistake.
But i verified my configuration and even started fresh as 32 bit config.
It is throwing me the same error each time.

Weird part is a few months ago there was no problem with it at all.
And i have changed nothing to it.
Only thing that did happen was i reinstalled the beid software.

Frederik Vernelen

unread,
Sep 7, 2012, 8:13:06 AM9/7/12
to YvesT, eid-middl...@googlegroups.com
Just a wild shot (maybe it a copy/paste error into your mail), but your log says:
C:\Windows\SyWOW64\beidlib.dll

There is an 's' missing in SysWOW64

YvesT

unread,
Sep 7, 2012, 8:18:58 AM9/7/12
to eid-middl...@googlegroups.com
Yeah that was a type, did not notice that until now.
Typed out the first error.

Frederik Vernelen

unread,
Sep 7, 2012, 8:36:07 AM9/7/12
to YvesT, eid-middl...@googlegroups.com
Do you mean you can add the beidlib.dll now?

YvesT

unread,
Sep 7, 2012, 8:43:59 AM9/7/12
to eid-middl...@googlegroups.com, YvesT
No, sorry i meant i made a type when posting the error. SyWOW64 instead of SysWOW64.

Frederik Vernelen

unread,
Sep 7, 2012, 9:00:16 AM9/7/12
to YvesT, eid-middl...@googlegroups.com
Found a thread here about adding a regular windows dll into a .net solution.

http://social.msdn.microsoft.com/Forums/en/Vsexpressvcs/thread/c194f361-afcb-47ac-81e9-8be60cbc25a0

Wkr,
 Frederik

YvesT

unread,
Sep 7, 2012, 10:36:08 AM9/7/12
to eid-middl...@googlegroups.com
Tried pretty much everything they mentioned on that link.
But no luck at all.

Tried to add the dll through object browser -> edit custom component set.
But this gave an error (The following components could not be browsed : C:\Windows\SysWOW64\beidlib.dll)

YvesT

unread,
Sep 7, 2012, 12:03:23 PM9/7/12
to eid-middl...@googlegroups.com
Had someone email me his beidlib.dll file.
Same problem though, but there is a difference between them.
Size and version numbers are different, so perhaps this file was at some point changed.
And this error is related to it.

Image included of 2 files.
Untitled2.jpg

YvesT

unread,
Sep 8, 2012, 9:22:21 AM9/8/12
to eid-middl...@googlegroups.com
Mr Vernelen,

I noticed your listed as developer on http://code.google.com/p/eid-mw/

I just went over this site.
http://cgeers.com/2008/01/20/accessing-the-belgian-identity-card-from-vbnet-part-1/
Created a project following his page step by step.
But also needed to add the beidlib.dll, otherwise you would get a pinvoke error.
I included this project in a rar file, if you want to verify my error.
All that is needed is add the beidlib.dll as a reference.
Normally you should see the same problem as i am having the second you try to add the library as a reference.

I have being checking things since Wednesday what would cause this problem.
But honestly i am pretty much lost why this suddenly happens.
BelgianEIdSolution.rar
Message has been deleted

YvesT

unread,
Sep 8, 2012, 9:35:31 AM9/8/12
to eid-middl...@googlegroups.com
Perhaps unrelated but going to mention it anyway.
On http://code.google.com/p/eid-mw/ i found a C# example.
This had a library beid35libCS.dll included.
Not sure if this is supposed to be the same as the beidlib.dll but for use in C#.

But when using .net reflector on the 2 files.
' Assembly beidlib
Location: C:\Windows\SysWOW64\beidlib.dll
Name: beidlib, 'C:\Windows\SysWOW64\beidlib.dll' is not a .NET module.

' Assembly beid35libCS, Version 3.5.3.6193
Location: C:\Users\Administrator\Desktop\eid installer\release\beid35libCS.dll
Name: beid35libCS, Version=3.5.3.6193, Culture=neutral, PublicKeyToken=null
Type: Library


fvernelen

unread,
Sep 10, 2012, 3:15:50 AM9/10/12
to eid-middl...@googlegroups.com
Hello,

If I understand correctly you are just starting your development with the eID SDK?
Then it might be best to start your development with the latest SDK (4.0), as the beidlib.dll (SDK 2.x) might not be included anymore in future releases of the middleware. And even SDK 3.5 is concidered to be deprecated.
Sorry, I should have mentioned that before, but I was under the empression this was a maintenance issue.

You can find the eID SDK 4.0 here : http://code.google.com/p/eid-mw/wiki/SDK40


(the beid35libcs you mention is the csharp wrapper of our 3.5 SDK)

Wkr,
 Frederik

Op zaterdag 8 september 2012 15:35:31 UTC+2 schreef YvesT het volgende:

YvesT

unread,
Sep 10, 2012, 3:33:35 AM9/10/12
to eid-middl...@googlegroups.com
Ok thanks.
So whatever code i got right now needs to be rewritten to work with the SDK4.

Frederik Vernelen

unread,
Sep 10, 2012, 3:40:49 AM9/10/12
to YvesT, eid-middl...@googlegroups.com
Yes, and the eid related part will be quite different (SDK 4.0 is based upon the pkcs11 standard, instead of our defined API in 2.x and 3.x )

The SDK4 package contains C# examples, which might be a good place to start from.

Geert Cobbaut

unread,
Mar 6, 2014, 11:05:05 AM3/6/14
to eid-middl...@googlegroups.com, YvesT

Hello

 

We have the same problem with Eidlib.dll being installed on C:\Windows\SysWOW64

Folder, but application running on 'any cpu' and impossible to change our application to x86.
Is there an installer that instaals Eidlib.dll on
C:\Windows\system32 on a 64bit Windows ?

 

Geert

Op maandag 10 september 2012 09:40:50 UTC+2 schreef fvernelen:

Frederik Vernelen

unread,
Mar 6, 2014, 1:06:08 PM3/6/14
to Geert Cobbaut, eID Middleware Dev, YvesT
Hello,

As Eidlib.dll is a 32bit only dll, we only install it in SysWOW64.
We have no installer that places it in system32 (on a 64bit machine)

Perhaps you can load the dll from its SysWOW64 folder, when your app is running on a 64bit windows?

Wkr,
 Frederik


--
You received this message because you are subscribed to the Google Groups "eID Middleware Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eid-middleware-...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Geert Cobbaut

unread,
Mar 7, 2014, 10:09:47 AM3/7/14
to eid-middl...@googlegroups.com, Geert Cobbaut, YvesT

Hello

 

Our application is developed in C#.

Maybe it is possible to read dll from an other folder in runtime,

but I never needed to do that, so that would require investigation.

 

Do you know if there are plans for a 64bit Eidlib.dll ?

 

If so, that would be a better solution.


With kind regards

Geert

 

Je kan aan die DllImport wel  een path meegeven, maar dat is dan ook een constante. Wat jij wil, is in runtime het path zoeken van een dll om die mee te linken

Op donderdag 6 maart 2014 19:06:08 UTC+1 schreef fvernelen:
To unsubscribe from this group and stop receiving emails from it, send an email to eid-middleware-dev+unsub...@googlegroups.com.

Geert Cobbaut

unread,
Mar 10, 2014, 6:01:33 AM3/10/14
to eid-middl...@googlegroups.com, Geert Cobbaut, YvesT

I tried to get loading from an other folder working in runtime, but no luck.

I get the message (dutch) “poging om een programma te laden met een onjuiste indeling”

Although I'm not an expert in this low-level-programming, I think the reason for this error is, that it is impossible to load a 32bit-dll when the application is running in 64bit.

 

A 64bit-version of Eidlib.dll seems to be the only solution ! 


Geert


Op donderdag 6 maart 2014 19:06:08 UTC+1 schreef fvernelen:
Hello,

Wkr,
 Frederik


To unsubscribe from this group and stop receiving emails from it, send an email to eid-middleware-dev+unsub...@googlegroups.com.

Frederik Vernelen

unread,
Mar 10, 2014, 6:15:11 AM3/10/14
to Geert Cobbaut, eID Middleware Dev, YvesT
Hello Geert,

The Eidlib.dll is part of our older deprecated SDK 3.5, so I'm afraid we won't be creating a 64-bit version of that library.

We do have a newer SDK (4.0) that supports 64-bit, but which is not backwards compatible with SDK 3.5
More information on SDK 4.0 can be found here:
http://code.google.com/p/eid-mw/wiki/SDK40

Wkr,
 Frederik


To unsubscribe from this group and stop receiving emails from it, send an email to eid-middleware-...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Geert Cobbaut

unread,
Mar 11, 2014, 3:59:42 AM3/11/14
to eid-middl...@googlegroups.com, Geert Cobbaut, YvesT

Hello Frederik,

 

We will reprogram our application using the beidpkcs11.dll instead of Eidlib.dll

Thanks for your support.

 

Wkr.

Geert



Op maandag 10 maart 2014 11:15:11 UTC+1 schreef fvernelen:
To unsubscribe from this group and stop receiving emails from it, send an email to eid-middleware-dev+unsubscribe@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.

--
You received this message because you are subscribed to the Google Groups "eID Middleware Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to eid-middleware-dev+unsub...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Pierre De Boeck

unread,
May 28, 2014, 10:33:45 AM5/28/14
to eid-middl...@googlegroups.com
Just for your information, in a DOTNET project (C#, VB.net,..), you can just refer to dlls that are dotnet assemblies or COM libraries.

The beidlib.dll is just a simple dll and thus you cannot refer to it directly from dotnet. The only way to use it
direclty is by means of interop calls. 

Pierre De Boeck

unread,
May 28, 2014, 10:41:41 AM5/28/14
to eid-middl...@googlegroups.com, Geert Cobbaut, YvesT
A 32 bits process can only load 32 bits dlls and 64 bits process can only load 64 bits dlls. I use the 32 bits beidlib.dll from a C++ 32 bits exe
without any problem. Just target your app to a 32 bits mode.

Geert Cobbaut

unread,
May 28, 2014, 10:51:13 AM5/28/14
to eid-middl...@googlegroups.com, Geert Cobbaut, YvesT
I know that would be a solution, however we also use other external dll's that are installed depending on the platform, so we must target our app in 'any cpu'-mode

Op woensdag 28 mei 2014 16:41:41 UTC+2 schreef Pierre De Boeck:

Pierre De Boeck

unread,
May 28, 2014, 11:28:30 AM5/28/14
to eid-middl...@googlegroups.com, Geert Cobbaut, YvesT
The any-cpu option  is only available for managed apps (dotnet). As I explained in another post of that thread, the beidlib.dll is not a dotnet assembly
or a COM library and thus you cannot just use it by reference. You must

- either use interop (you must handle the marshalling between the managed and unmanaged runtime)

- or use a  32 bist unmanaged app like C++/C, and then you link with the beidlib.dll (what I am doing but now I am migrating to the pkcs11 api)


On Wednesday, May 28, 2014 4:51:13 PM UTC+2, Geert Cobbaut wrote:
I know that would be a solution, however we also use other external dll's that are installed depending on the platform, so we must target our app in 'any cpu'-mode

Op woensdag 28 mei 2014 16:41:41 UTC+2 schreef Pierre De Boeck:
A 32 bits process can only load 32 bits dlls and 64 bits process can only load 64 bits dlls. I use the 32 bits beidlib.dll from a C++ 32 bits exe
without any problem. Just target your app to a 32 bits mode.

On Monday, March 10, 2014 11:01:33 AM UTC+1, Geert Cobbaut wrote:

I tried to get loading from an other folder working in runtime, but no luck.

I get the message (dutch) “poging om een programma te laden met een onjuiste indeling”

A blthough I'm not an expert in this low-level-programming, I think the reason for this error is, that it is impossible to load a 32bit-dll when the application is running in 64bit.

Reply all
Reply to author
Forward
0 new messages