2008-12-01 126 views
3

我們有一個32位應用程序,在其進程中啓動其他32位應用程序。該應用程序在其他64位平臺,但在Windows Server 2003 64位上工作正常,我們得到一個錯誤嘗試啓動應用程序:爲什麼CreateProcess在Windows Server 2003 64位中失敗?

error 193 (not a valid 32 bit application) 

我們可以手動啓動系統,這些應用程序上沒有任何問題。

我以爲我們發現問題this article,但我們的客戶已經在他的系統上有這個補丁,並且錯誤仍在發生。

如果其他人遇到過類似的事情,或者如果有人對如何解決這個問題有任何想法,將不勝感激!

謝謝! FrançoisCôté

+0

你可以發佈你打的電話嗎?只需更改任何敏感信息,如果我們知道您傳遞了什麼參數,將會有所幫助。 – Kiril 2008-12-01 21:23:00

回答

0

您確定要啓動的應用程序是針對32位編譯的嗎?當你直接運行每個應用程序時,確保它們在WOW64中運行。如果它們不是,那麼Windows將它們作爲64位應用程序運行,這可能會導致您遇到的問題。

+0

感謝Pedro爲您的時間...我知道應用程序是32位,因爲我編譯了它們。他們在我們的實驗室中正確運行,我會在下次連接到客戶系統時檢查。 – FrankTKO 2008-12-01 22:40:19

1

IIRC,即使應用程序確實是一個有效的32位.exe,也可以得到該錯誤代碼,以解決各種其他原因,例如dll依賴項問題。或者,如果Windows加載程序被路徑中的64位dll混淆,並且它與需要的32位dll具有相同的名稱。

1

您可能想要使用依賴關係助理使用「自動打開和配置子進程」選項來執行運行時配置文件。這會給你一個更好的想法,它有多遠,以及它在運行時解決哪些依賴關係。

相關問題