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:
- 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.
- 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.
- 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.
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.