Wednesday, August 10, 2011

Visual Studio 2010 versus COM-Object fails

When converting an VB2008 application to VB2010 I run into trouble regarding COM objects while compiling.
 you get errors like:
Error    1    Encountered multiple versions of the assembly with GUID 'ef3dc09d-efed-470b-bc2a-77aafb60e544'.  Try pre-importing one of these assemblies.    C:\..........\db_logger\TlbImp    GUI_Creator
I got two COM object CANoe and Canalyzer both fails. The COM object failure is known my MS and wasn't fixed in VS2010 SP1.
The problem is due to problem to build InterOp wrappers for the COM-object.
I managed to fix it by manually creating InterOp wrappers using tlbimp.exe

For CANoe.exe you open a commando prompt window in the same directory as the COM object in this case canoe32.exe:
C:\Program Files\Vector CANoe 7.5\Exec32>"C:\Program Files\Microsoft SDKs\Window
s\v7.0A\bin\tlbimp" canoe32.exe /out:CANoeInterOp.dll


For Canalyzer:
C:\Program Files\CANalyzer 7.1\Exec32>"C:\Program Files\Microsoft SDKs\Windows\v
7.0A\bin\tlbimp.exe" canw32.exe /out:canalyzerInterOp.dll

Then remove reference to CANoe in you application and add the reference to CANoeInterOp.dll instead.
In the code I also had to change ....CANoe.Application....  to CANoeInterOp.Application


Links: Microsoft Connect, Understand COM interop

MySQL to MariaDB

 Here is a good description how to migrate to MariaDb MySQL to MariaDb Example of how to dump data from MySQL port=3307: mysqldump --user=ro...