這裏的基本細節如下:蟒蛇win32com派送失敗 'CrystalRuntime.Application'(64號)
- Windows Server 2008的64位
- Python26 64位
- 的Visual Studio 2008(團隊),這安裝水晶報表(32位和64位運行時)
我的問題是下面的代碼失敗時訊(「CrystalRuntime.Application」)被調用,這在上面的相同的32位操作系統配置上工作得很好。
錯誤時正在:
(-2147221164, 'Class not registered', None, None)
我已經花了幾個小時會通過各種原因,這是失敗,我得無處..
我甚至在運行makepy.py 'Crystal Reports ActiveX Designer運行時庫'其中包含我正在嘗試創建的com界面,但即使這樣也無法提供結果。
我知道晶體正確安裝,因爲它工作得很好,我可以看到com類正確註冊。
我完全被卡住,需要幫助,我總是希望堆棧可以再來爲我解圍......
有什麼想法,請記住我不是任何規模的Python程序員...
import os
import sys
import re
import time
from win32com.client import Dispatch
import pythoncom
def main():
try:
app = Dispatch('CrystalRuntime.Application')
print app
except pythoncom.com_error, e:
print "(crystal reports not installed?): '%s'" % e
return 0
print 'Success!!!'
if __name__ == '__main__':
main()
好,我知道一點點進一步分析這一點。 如果我在vb腳本文件中做的或多或少相同,並用'cscript.exe'調用腳本文件,最初我會得到相同的結果。但是,如果我使用'C:\ Windows \ SysWOW64 \ cscript.exe'來調用vb腳本文件,我相信這個腳本是作爲一個32位進程運行的,它就可以工作。 所以......我需要做些什麼才能使python腳本的行爲相同,因爲我不想在vb中重新編寫整個腳本,只是爲了幾行不起作用。 – DIGGIDY 2012-01-06 17:14:53