剛剛開發(fā)完成的一個(gè)Winform項(xiàng)目,使用VS2008自帶的打包工具對它進(jìn)行打包(設(shè)置開始菜單的快捷方式),安裝后,發(fā)現(xiàn)快捷方式的目標(biāo)指向有問題。(winform程序的打包過程參見網(wǎng)絡(luò)上的相關(guān)資源),這里我主要想說明打包后進(jìn)行安裝完畢后,快捷方式的指向問題。 1、打包后生成文件說明 我們都知道通過VS工具自帶的打包后會(huì)生成兩個(gè)文件,一個(gè)是exe文件,一個(gè)是msi文件。 需要說明的是msi文件時(shí)window installer開發(fā)出來的程序安裝文件,它可以讓你安裝、修改、卸載你所安裝的程序,也就是說VS工具打包生成的msi文件就是window installer的數(shù)據(jù)包,把所有和安裝文件相關(guān)的內(nèi)容封裝在一個(gè)包里。VS工具打包生成的exe文件是主要是用于檢查安裝的環(huán)境,當(dāng)安裝的環(huán)境檢查成功后,會(huì)自動(dòng)再安裝msi文件。當(dāng)然可能會(huì)有exe文件也能直接安裝的,但是開發(fā)exe的時(shí)候要比msi困難多,因?yàn)樾枰帉懞桶惭b、修改、卸載相關(guān)的很多內(nèi)容,而msi把這些功能都集成化了,易于開發(fā)windows程序安裝包。 2、 快捷方式指向說明 首先通過vs生成的exe檢查環(huán)境通過后調(diào)用msi文件,安裝完畢后,右鍵快捷方式的圖片,發(fā)現(xiàn)一個(gè)比較奇怪的問題:如圖 可以根據(jù)上圖發(fā)現(xiàn),快捷方式的"起始地址"和"目標(biāo)"都不對,除此之外還有對于快捷方式還有以下的問題: 1、第一次點(diǎn)擊快捷方式可以正常打開軟件,但是當(dāng)軟件安裝所在的文件夾下有文件更新或者刪除時(shí)候,會(huì)出現(xiàn)進(jìn)度條。(進(jìn)度條達(dá)到100%后也能打開)。 2、把安裝包msi文件刪除后,再次點(diǎn)擊快捷方式,則無法打開軟件。(提示:無法訪問安裝包文件msi) 。 根據(jù)上面的現(xiàn)象,可以基本上確定兩點(diǎn):(1)快捷方式指向目標(biāo)設(shè)置有問題。(2)快捷方式指向的是MSI文件。 至于提到的第一點(diǎn):我測試發(fā)現(xiàn)我在程序啟動(dòng)時(shí)候把安裝路徑下的一個(gè)文件重命名或者刪除,那么每次啟動(dòng)快捷方式都從msi文件重新安裝到安裝路徑下,因此才會(huì)出現(xiàn)進(jìn)度條的現(xiàn)象。 3、問題的解決 最后我又試了幾次,以為是再程序打包的時(shí)候設(shè)置有問題,結(jié)果都沒有找到原因,沒有辦法只有需求網(wǎng)絡(luò)資源,網(wǎng)絡(luò)上有朋友說VS創(chuàng)建的快捷方式不是標(biāo)準(zhǔn)的,是VS制作的安裝包的問題,但是可以對VS制作的安裝包msi文件進(jìn)行修正。 具體修正步驟如下: (1)下載工具orca工具(msi文件編輯工具) orcaMis (2)安裝orca后,用orca打開msi安裝包,在左邊的Table列表中找到Shourtcut表,在右邊記錄中找到桌面快捷方式的記錄,修改該記錄的Target屬性為:
[TARGETDIR]應(yīng)用程序名稱.exe (3)保存修改后的msi文件,重新安裝后生成的快捷方式就可以查找圖片和更改圖標(biāo)了。 |
|