如題:最近的項目中,使用VS2010 制作成的安裝包在安裝后出現了一個奇怪的錯誤,桌面生成的快捷方式在雙擊后并沒有啟動主程序而是啟動了安裝包,遂在網上搜索,知道了一個解決方法,如下:
?
文章出處: http://charles2008.cnblogs.com/ ??
??
? ? 剛剛開發完成的一個Winform項目,使用VS2008自帶的打包工具對它進行打包(設置開始菜單的快捷方式),安裝后,發現快捷方式的目標指向有問題。(winform程序的打包過程參見網絡上的相關資源),這里我主要想說明打包后進行安裝完畢后,快捷方式的指向問題。
1、打包后生成文件說明?
? ? 我們都知道通過VS工具自帶的打包后會生成兩個文件,一個是exe文件,一個是msi文件。
需要說明的是msi文件時window installer開發出來的程序安裝文件,它可以讓你安裝、修改、卸載你所安裝的程序,也就是說VS工具打包生成的msi文件就是window installer的數據包,把所有和安裝文件相關的內容封裝在一個包里。VS工具打包生成的exe文件是主要是用于檢查安裝的環境,當安裝的環境檢查成功后,會自動再安裝msi文件。當然可能會有exe文件也能直接安裝的,但是開發exe的時候要比msi困難多,因為需要編寫和安裝、修改、卸載相關的很多內容,而msi把這些功能都集成化了,易于開發windows程序安裝包。
2、 快捷方式指向說明
? ? ?首先通過vs生成的exe檢查環境通過后調用msi文件,安裝完畢后,右鍵快捷方式的圖片,發現一個比較奇怪的問題:如圖
?可以根據上圖發現,快捷方式的"起始地址"和"目標"都不對,除此之外還有對于快捷方式還有以下的問題:
1、第一次點擊快捷方式可以正常打開軟件,但是當軟件安裝所在的文件夾下有文件更新或者刪除時候,會出現進度條。(進度條達到100%后也能打開)。
2、把安裝包msi文件刪除后,再次點擊快捷方式,則無法打開軟件。(提示:無法訪問安裝包文件msi) 。
根據上面的現象,可以基本上確定兩點:(1)快捷方式指向目標設置有問題。(2)快捷方式指向的是MSI文件。
至于提到的第一點:我測試發現我在程序啟動時候把安裝路徑下的一個文件重命名或者刪除,那么每次啟動快捷方式都從msi文件重新安裝到安裝路徑下,因此才會出現進度條的現象。
3、問題的解決
最后我又試了幾次,以為是再程序打包的時候設置有問題,結果都沒有找到原因,沒有辦法只有需求網絡資源,網絡上有朋友說VS創建的快捷方式不是標準的,是VS制作的安裝包的問題,但是可以對VS制作的安裝包msi文件進行修正。
具體修正步驟如下:
(1)下載工具orca工具(msi文件編輯工具)? orcaMis
(2)安裝orca后,用orca打開msi安裝包,在左邊的Table列表中找到Shourtcut表,在右邊記錄中找到桌面快捷方式的記錄,修改該記錄的Target屬性為:
?
(3)保存修改后的msi文件,重新安裝后生成的快捷方式就可以查找圖片和更改圖標了。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
