原文:http://rain.newegg.cn/user4/sunliguang/archives/2007/216734.html
在VC6中,Release版本的程序的部署,除了程序自身關聯的各個Dll之外,只需添加MFC42.dll即可。
在VC2005中,發生的變化包括:
1.MFC的版本發生變化,最新的版本為8.0,所有應該包括MFC80.dll
2.在VC2005的架構下,采用manifest進行dll的版本確認,因此需要添加MFC程序所需的manifest文件。
在VC2005的安裝目錄下:C:\Program Files\Microsoft Visual Studio
8\VC\下有一個文件夾為redist專用于
程序的部署和發布。在其中的x86文件夾用于Release版本的程序發布,其中的Microsoft.VC80.MFC文件
夾用于發布MFC程序,包括混合有Unicode以及CLR的程序,可以根據程序需要選擇copy。對于我個人的
單純MFC的程序,只需要復制Microsoft.VC80.MFC.manifest和mfc80.dll即可。其余幾個,文件名稱中帶有
“u”的表示兼容unicode編碼,帶有“m”表示使用托管代碼生成規則。
還有另一個解決manifest文件的辦法:(該辦法嘗試過好像行不通,可能是自己對manifest文件還不太了解)
在VC2005的開發環境下,選擇項目屬性-->清單工具-->輸入和輸出,在潛入清單位置,選擇“否”,這
樣VC2005將會直接在Release目錄下,exe文件的旁邊為您生成一個同名的manifest文件,文件內容和
Microsoft.VC80.MFC.manifest有關聯。直接復制這個文件也可以起到效果。
對不太熟練的開發人員,可以直接將這些dll統統復制到自己的exe文件所在目錄下,應該可以確保萬無
一失,只不過有的文件沒有被利用而已。
最簡單的程序發布方法莫過于直接復制文件,對依賴的dll文件,可以直接和exe文件放在同一個文件夾下,
而不將其復制到系統文件夾下。