我正在開發一個32位WinForm應用程序(目標:.NET 3.5)。我的客戶堅持要求將該應用程序安裝到「Windows \ System32 \ clientname」文件夾中,並在啓動時自動啓動。此外,應用程序必須是32位,所以我不能使用「任何CPU」。64位Windows上的32位應用程序「無法找到運行該應用程序的運行時版本」
我正在使用VS2010在Win7 x64下開發,並安裝了所有版本的.NET。當我啓動應用程序時,我收到消息「無法找到運行該應用程序的運行時版本」。 在Win7 x86上,它沒有問題。這不是應用程序本身,我100%確定安裝了所有必需的框架。
我知道在x64系統上這個文件夾不能用於32位應用程序,但正如我所說:客戶端堅持並且不會讓步。
在我明確告訴客戶不能完成之前,我想探索所有選項。我搜索了當然,也搜查這個好網站,但沒有任何幫助我的特殊情況出現了。
我的應用程序生成位於同一文件夾中的另一個32位進程。當然,在x64上也沒有工作,但我通過使用「Wow64DisableWow64FsRedirection」解決了這個問題,然後將它複製到另一個位置以便從那裏啓動它(工作正常)。 我已經完成了我的作業,但是我找不到在x64和該特定文件夾下啓動主應用程序的解決方案。
有沒有?
爲什麼你不能使用任何CPU?我敢打賭,這是64位系統的問題,它根本不會損害在32位系統上的運行。 – antlersoft 2011-12-14 22:53:20
客戶是否有理由希望在那裏?不想聽起來光顧我假設你已經向他解釋C:\ Windows是針對Windows的,而不是針對應用程序的。 – 2011-12-14 22:53:33