odoo 9 コードから Windows DLL を操作しようとしています。Python クラスのコードは次のとおりです。
import win32com.client
import pythoncom
Pythoncom.CoInitialize ()
Zk = win32com.client.Dispatch ('zkemkeeper.ZKEM.1')
Windows 8 (64 ビット) で実行すると問題なく動作しますが、Windows 10 (64 ビット) でサービスとして実行すると、ログ ファイルに次のエラーが記録されます。
File "C: \ Python27 \ lib \ site-packages \ win32com \ client \ dynamic.py", line 85, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance (IDispatch, None, clsctx, pythoncom.IID_IDispatch)
Com_error: (-2147221164, 'Class not registered', None, None)
Regeditをチェックしました。dll が登録されます。
同じ PC に Python 32 ビットをインストールし、コンソールからコードを直接実行すると、同じエラーが発生します。しかし、Python 64 ビットをインストールして同じコードを実行したところ、問題なく動作しました。
odoo as a service でこのエラーを修正する方法を誰か教えてもらえますか? 内部のものではなく、PCにインストールした64ビットのPythonを指す方法はありますか?