Возникает проблема с библиотекой IolaCOM в .Net приложения(x64) на операционной система Windows Server 2012
Среда:
ОС: Windows Server 2012 R2 Standart x64
.Net Framework 4.5
Версия IolaCOM: 5.9.0.8 x64
Платформа приложения: x64
Воспроизведение:
1) Регистрация COM (из под администратора) %systemroot%\System32\regsvr32.exe c:/IolaCOM.dll
2) Запускаем приложение TestIola. Нажимаем "Create IolaCOM2". Код: var iolaCom2 = new IolaCOM2();
3) Падает исключение:
System.IO.FileLoadException: Retrieving the COM class factory for component with CLSID {71F25775-2E0C-4111-98DB-6E528BDE1F99} failed due to the following error: 8007045a A dynamic link library (DLL) initialization routine failed. (Exception from HRESULT: 0x8007045A).
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at TestIola.Form1.button1_Click(Object sender, EventArgs e) in c:\Users\anton\Documents\Visual Studio 2012\Projects\TestIola\Form1.cs:line 23
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Код тестовой программы TestIola:
using System;
using System.Windows.Forms;
using IolaCOM;
namespace TestIola
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
var iolaCom2 = new IolaCOM2();
}
}
}