「系統無法執行指定的程式」的解決辦法

2021-05-26 04:55:14 字數 1330 閱讀 9824

乙個其它公司用vs2005編譯產生的exe檔案,在機器上執行報「系統無法執行指定的程式」。想了很多辦法。反覆的安裝解除安裝了很多版本的vs。因為只用到了vc++,其它的元件都沒有安裝,還是反覆的報錯。

網上查查,最後找到了乙個人說要重新安裝「vcredist_x86.exe」。一試果然好用。當然這是對產生的exe檔案是release版本的。對於debug版本的就比較麻煩了。摘錄如下:

1、在開發組的機器上(安裝有vs2005)有時都不能啟動

這一般是專案的檔案被放在了fat/fat32分割槽上導致的, 解決方法是把它們都移動到ntfs分割槽上, 或者把「專案屬性|manifest tool|general|use fat32 work-around」設為yes。

2、開發組執行正常, 換到其它機器上就不行了

如果是debug版, 就複雜一些了, 首先要確定你需要的dll的版本, 絕大多數(注意:不是"所有")情況下它和編譯器的版本相同, 通過vs2005的關於對話方塊就能看到, 如下圖所示:

確定版本後, 在開發組的機器上進入「%windir%/winsxs"資料夾(下面將以x86平台8.0.50727.762版本的debug crt為例進行說明), 拷貝以下檔案到目標機器的相同位置即可:

x86_microsoft.vc80.debugcrt_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f資料夾下的所有檔案

manifests資料夾下的x86_microsoft.vc80.debugcrt_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f.cat和x86_microsoft.vc80.debugcrt_1fc8b3b9a1e18e3b_8.0.50727.762_x-ww_5490cd9f.manifest

policies/x86_policy.8.0.microsoft.vc80.debugcrt_1fc8b3b9a1e18e3b_x-ww_09e017b4資料夾下的8.0.50727.762.cat和 8.0.50727.762.policy

注意, 上面的操作只是在目標作業系統為winxp,win2003及以上時才需要的, 如果是win2000及以下的系統, 只要把第乙個資料夾下的檔案拷貝到system32中就行了。

附:deployment examples:

參照的彙編沒有安裝在系統上

應用程式要求的元件版本同另乙個活動的元件有衝突。

系統無法執行指定的程式

error_sxs_assembly_not_found

0x800736b3

the referenced assembly is not installed on your system.

Debug程式無法執行解決

說明 文章內容部分參考網路上的解決思路。在沒有安裝microsoft visual studio的系統上,debug版本無法正常執行。這是由於缺少vs執行時庫引起的。以vs2005為例。開發機用vs2005編譯出debug版本程式,傳送到一台沒有安裝過vs的機器上執行,執行不成功。解決方法如下。c ...

autocad外掛程式無法載入無法執行的解決辦法

autocad在win10下執行時,外掛程式會出現各種不相容的現象,如果改用管理員執行會無法雙擊開啟dwg檔案,如果不以管理員執行,有些老外掛程式不能用,根源是許可權問題,怎麼解決?方式一,放棄win10用回win7 方式二,管理賬戶直接最大許可權執行 可能有風險,但管用 win r gpedit....

PowerShell禁止指令碼執行的解決辦法

powershell報錯 因為在此系統上禁止執行指令碼。有關詳細資訊,請參閱 https go.microsoft.com fwlink linkid 135170 中的 about execution policies。英語好的,直接閱讀,按照參閱位址應該就可以解決問題了。檢視當前狀態,power...