我有一个在32位(32位操作系统)上开发的服务应用程序,我试图将其移植到64位。这是一个简单的应用程序,所以不应该有很多事要做。但是 - 我使用的SDK(Proficy Historian SDK)同时具有32位和64位版本。
当我安装服务以在64位计算机上运行它时出现COM错误:
Retrieving the COM class factory for component with CLSID {54D8AB6D-A946-445E-BE18-F5B9387D1DD4} failed due to the following error: 80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
当然,这与SDK有关。
测试申请
现在:我接受了该服务,并创建了一个带有2个按钮的Forms应用程序,用于控制OnStart和OnStop。如果符合以下条件,该应用程序可以正常运行:
平台=任何CPU 目标CPU = AnyCPU
OR
平台=任何CPU 目标CPU = x86
但是:如果目标CPU是x64,它将不起作用:(
返回服务
无论我在服务中做什么,都不想工作。