應用程式事件日誌中:
「c:\windows\system32\test.exe」的啟用上下文生成失敗。 找不到從屬程式集 microsoft.vc80.mfc,processorarchitecture="x86",publickeytoken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.762"。 請使用 sxstrace.exe 進行詳細診斷。
出現這類問題,是由於vc2005編譯出來的程式檔案,採用了manifest方式來指定dll檔案。對於win98、win2000系統,把exe檔案和vc的 dll連線庫放到一起就成了。對於winxp、win2003系統就要麻煩的多了,vc的連線庫預設是被放到了winsxs目錄下。
解決辦法就是:使用vcredist_x86.exe再次分發程式。
對解決方案來說,vs設定成debug版本和release版本是不一樣的。關鍵在於打包的時候的manifest所制定的路徑不同。
對於部署的程式,vs有兩套方案,共享並行程式集和私有程式集部署方法,前者其實就是依賴的東西在目標機的windows\winsxs目錄下,後者要求程式自帶
編譯程式的時候,主要設定在兩個地方,第乙個是專案的general配置裡面的mfc,第二個是專案配置裡面的c/c++下面的code generation裡面的runtime library設定裡面。如果你的程式在修改過之後還能編譯的話,那就可以了。
以前用vc6和vs2003的話, 如果缺少庫檔案,是會提示缺少「**.dll」,但是用vs2005卻沒有這樣的提示。
自己實驗了一下,感覺以下幾種解決辦法是可行的:
方法一:
在類似c:\program files\microsoft visual studio 8\vc\redi
st\debug_nonredist\x86\microsoft.vc80.debugcrt 下找到了下列檔案:
msvcm80d.dll
msvcp80d.dll
msvcr80d.dll
microsoft.vc80.debugcrt.manifest
把這幾個檔案拷貝到目標機器上,與執行程式同一資料夾或放到system32下,就可以正確執行了。
其他release版、mfc程式什麼的都是拷redist下相應資料夾下的檔案就可以了,資料夾後都有標識!
方法二:
修改編譯選項,將/md或/mdd 改為 /mt或/mtd,這樣就實現了對vc執行時庫的靜態鏈結,在執行時就不再需要vc的dll了。
方法三:
工程-》屬性-》配置屬性-》常規-》mfc的使用,選擇「在靜態庫中使用mfc」
這樣生成的exe檔案應該就可以在其他機器上跑了。
方法四:
你的vc8安裝盤上找到再分發包vcredist_***.exe和你的程式**安裝。
python啟動應用程式和終止應用程式
每天上班,工作需要,電腦上需要每天開機啟動一些軟體,下班時候,需要關掉一些軟體。乙個乙個開啟和關閉貌似是很繁瑣的,於是乎,這個指令碼產生了。系統環境 win7 32位 python 2.7.9 你還需要安裝pywin32。pip install pywin32 啟動應用程式指令碼 coding ut...
應用程式無法啟動,因為應用程式的並行配置不正確
應用程式事件日誌中 c windows system32 test.exe 的啟用上下文生成失敗。找不到從屬程式集 microsoft.vc80.mfc,processorarchitecture x86 publickeytoken 1fc8b3b9a1e18e3b type win32 vers...
應用程式無法啟動,因為應用程式的並行配置不正確
今天在使用序號產生器啟用軟體時,提示如下資訊 解決方案 1.雙擊序號產生器,跳出錯誤資訊 2.右擊windows鍵 事件檢視器 windows日誌 應用程式 雙擊第乙個 錯誤 從中可以看到事件資訊 x86 9.0.21022.8 可知電腦缺少vc 執行庫 microsoft visual c 200...