Python Win32 com.client.Dispatch()32-64位程序

Python Win32 com.client.Dispatch()32-64位程序,python,com,32bit-64bit,win32com,Python,Com,32bit 64bit,Win32com,我正在尝试用python中的win32com创建一个com对象。使用这些命令: import win32com.client com_nxn = win32com.client.Dispatch("NxNNamespace.NxNNamespaceHelper") 我尝试了两次,第一次是在我的64位python2.6安装和win32 64位安装上。 我能够使导入win32com.client行正常工作。 但是con_nxn命令仍然不起作用,并给出以下错误: File "C:\Python26\

我正在尝试用python中的win32com创建一个com对象。使用这些命令:

import win32com.client
com_nxn = win32com.client.Dispatch("NxNNamespace.NxNNamespaceHelper")
我尝试了两次,第一次是在我的64位python2.6安装和win32 64位安装上。 我能够使导入win32com.client行正常工作。 但是con_nxn命令仍然不起作用,并给出以下错误:

File "C:\Python26\lib\site-packages\win32com\client\dynamic.py", line 85, in _GetGoodDispatch
IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_错误:-2147221164,“类非enregistr\xe9e”,无,无

在另一个安装了python和Win32 Com 32位的部件上,一切正常,我的Com对象被创建。 我认为问题在于我试图实例化的软件是32位的,没有提供64位的Com对象

所以我的问题是:如何使它在我的python 64位上工作? 我可以通过某种奇怪的方式在python 64位上复制dll来使用Win32 COM 32位吗? 或者问题不是我想的那样,在这种情况下,如果有人能启发我,我会非常感激,我是一个完全依赖com对象的乞丐:D

我使用的是64位windows 7


谢谢

根据对象的实现方式,您可以 通过添加clsctx=pythoncom.clsctx\u LOCAL\u服务器来更改激活上下文 传递给调度的args。如果这不起作用,那就试试看 CLSCTX\u为CLSCTX激活\u 32位\u服务器0x40000。 如果这两种方法都不起作用,您仍然可以为服务器创建进程外代理
使用控制面板->管理工具->组件服务的应用程序。

试试这个。我不确定这个解决方案 C:\Windows\SysWOW64>\msiexec.exe/i“应用程序路径”

附加信息为