Friday, August 3, 2007

The on-going quest to find an MSR with a Native .NET compatible driver!

One would think that in the .NET day and age, finding an MSR Credit Card reader which uses a Native .NET driver to operate would be a trivial task. That is not the case as far as I can see after several weeks of research. What I mean by a Native .NET driver of course is a self explaining .NET driver that does not require an ActiveX OCX or ActiveX DLL registration on the machine it is going to be deployed on.

I was given a task of integrating an Ingenico eN-Crypt 2100 with an existing .NET Application, which used a Strong Name Key for the assembly. Some problems that we encountered were:
  1. InterOp / Ax incompatibility with Strong Name Key assemblies: It turns out when you turn a .NET Assembly into a strong name assembly, even though InterOp will still convert the OPOS ActiveX OCX for you, you won't be able to simple drag and drop the OPOS MSR components onto an Application Form. So the ActiveX component will have to be converted to InterOp + Ax component using the strong name converter provided by Visual Studio.
  2. OPOS OCX requires registration on deployment machine: One of the beauties of the .NET Technology is the fact that none of the Native .NET DLLs require registration on the target machine. If you have one such application, and want to keep it that way, having to register an OCX on the target machine is NOT an option.

  3. Re-imaging / downloading drivers into the device not possible: As relating to the Ingenico eN-Crypt 2100, I blame poor design on the Manufacturer's part for this issue. For some reason unless you are willing to spend a whole day messing around with the device to try and re-image / reset the driver onto it, the device simply refuses to work on a standard Windows 2000 or Windows XP Workstation once it has already been imaged once.

Of course getting the manufacturer's support line to admit the above faults/issues took some 50+ emails and several conversations over the phone.

Enter Microsoft Point Of Service for .NET (POS for .NET)


The whole reason Microsoft released this .NET library was to allow developers to deal with issues like the issues above. Yet for some reason not a single MSR Manufacturer supports this library to date (8/4/07). NOT EVEN ONE!!


If you have never heard of this library before, you can grab a copy of it at the following URL:


Actual Driver: Microsoft POS for .NET 1.1
Developer SDK: POS for .NET 1.1 SDK


The developer SDK actually contains sample applications in both C# and VB.NET for developers to run. But please, if anyone ever does find an MSR Manufacturer that supports this .NET Library, do let me know.

Pete Soheil
DigiOz Multimedia
http://www.digioz.com

7 comments:

DarylL said...

I' am also looking for a MSR.

Did you check out the MAGTEK IntelliPIN?

DigiOz Multimedia said...

I did take a look at it, but didn't like what I saw. Read my other blog entry for what I did finally choose:

http://digioz.blogspot.com/2007/10/eureka-finally-pos-for-net-compatible.html

Oliver said...

I'm also working on a .NET app interfacing with an Ingenico i6550 through a COM wrapper (IVICForm, OPOSMSR, etc.). I also tried the POS .NET which works fine but, how do you still utilize the .icg files normally sent via .DisplayFormOnDevice(formNum, formPath)?

FYI, there may be a way to set font size via a .DirectIO call. The option I chose was for my program to create .icg files at run time and as needed.

DigiOz Multimedia said...

Hello Oliver,

Good to hear there are other people out there working on similar issues with credit card readers. Personally, I think one of the reasons for this lack of resources for MSR devices is that most users of them use the device using a terminal and never really connect them to a computer.

I do have a different blog entry related to POS for .NET which you can check out here:

http://digioz.blogspot.com/2007/10/eureka-finally-pos-for-net-compatible.html

As for the .icg idea, I never thought of doing that! That is a very good idea. Thanks for bringing that to my attention.

Pete Soheil
DigiOz Multimedia
http://www.digioz.com

blog2100 said...

hi
U really opened a interesting site.
I am also a dot net programmer.

currently my blog is http://www.itblog2100.blogspot.com

follow me in my blog then i will to keep in touch.

DigiOz Multimedia said...

Thanks blog2100! You have a pretty interesting blog yourself. I will follow your blog as well. :)

Pete

DigiOz Multimedia said...

Just want to let everyone know there is now a whole thread dedicated to Ingenico iSeries Devices, which can be found here:

http://www.digioz.com/forum/viewtopic.php?f=15&t=553

Feel free to stop by to ask any questions you may have.

Thanks,
Pete Soheil
DigiOz Multimedia