我有一些64位問題。這裏的瓢:在64位Windows機器上調用COM服務器DLL
我有32位COM EXE(用FoxPro編寫)。此exe文件調用32位COM DLL(也寫在FoxPro中)。在32位Windows世界中,該DLL被放置在C:/Windows/System32
目錄中,註冊了C:/Windows/System32/regsvr32.exe
,一切正常。該exe可以啓動和任何需要DLL的進程都很好。
這是64位世界中的不同故事。我試圖安裝運行Windows 7 x64
像這樣的機器上這個應用程序:
- 我放在
C:/Windows/SysWOW64
- 我
C:/Windows/SysWow64/regsvr32.exe
註冊它的dll,但我只能夠獲得註冊通過運行regsvr32
成功「以管理員身份運行」上下文菜單選項。
現在,當我嘗試運行我的exe文件時,除了使用「以管理員身份運行」選項啓動我的exe時,無法調用dll。不是很好。一個用戶不應該被要求成爲一個管理員來運行一個簡單的應用程序。
有沒有人知道我如何得到這個工作,而不需要「以管理員身份運行」選項?
謝謝!
-Ken
+1。 ProcMon是找出爲什麼這些東西不起作用的唯一可靠方法。 – sharptooth 2010-08-26 05:20:37
+1。謝謝,漢斯!我能夠使用ProcMon追蹤這個問題。長話短說,DLL試圖用寫權限來創建和訪問SysWow64目錄中的文件,這是隻有管理員才能做到的。 糾正了這個問題,我現在很好! -Ken – Ken 2010-08-26 19:46:46