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