2013-09-26 86 views
3

我已將所有用戶從Windows 7計算機移至Windows Server 2008遠程桌面。他們目前使用的所有應用程序都是用vb6開發的(新應用程序目前正在用c#.Net開發),並且需要暫時使用...在Server 2008上安裝VB6運行時x64

這些應用程序似乎在Windows 7中運行良好。只是無法讓他們玩與服務器2008年好。我曾嘗試運行依賴沃克,發現它缺少「msvbvm60.dll」。追蹤到實際的VB6運行時。試圖找到服務器2008 x64的VB6運行時下載,這是不行的。所以我只是試圖把「msvbvm60.dll」文件放在c:\ windows \ system32 \和c:\ windows \ SysWOW64中。

它說在SysWow64文件夾中已經有一個名爲「msvbvm60.dll」的文件。所以我的問題是,爲什麼它不起作用?看來,Windows 2008已經在機器上運行了。但取決於說「msvbvm60.dll」丟失...:/

想法?

+0

有趣......我們在服務器2008中有50多個用戶運行一個VB6 ActiveX DLL ......除了代碼混亂之外沒有其他問題! –

+0

@retailcoder更像是它們包含了依賴於安裝文件。 –

+0

服務器2008有沒有win7下的引擎?它必須是安裝程序中缺少的東西......我想。 –

回答

2

解決!

這個問題與DEP有關!

這個問題的根本原因是在Windows Server做出2008 R2到時tsappcmp.dll模塊(遠程桌面服務的應用程序兼容性DLL)被初始化時間的變化,其結果會導致您的應用程序調用的DLL函數然後建立到DLL中的函數的鏈接。

我解決這個問題的方式非常簡單!我只是從Data Execution Prevention進程中排除了我的應用程序,它允許應用程序及其所有依賴項在沒有錯誤的情況下及時加載。

用法:

rundll32 sysdm.cpl, NoExecuteAddFileOptOutList "FullPathToExecutable" 

實施例:

rundll32 sysdm.cpl, NoExecuteAddFileOptOutList "C:\Program Files (x86)\MyApplication\MyApplication.exe" 

來源:

1

這是一個瘋狂的猜測,但你可以在兼容模式下運行它們嗎? (右鍵單擊>屬性>兼容性)

+0

試過了,沒有一個操作系統可以工作......:l我試過的第一件事。 –

相關問題