Winform打包程序制作的快捷方式指向錯誤的位置(指向安裝包文件)


     剛剛開發完成的一個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屬性為

[TARGETDIR]應用程序名稱.exe

(3)保存修改后的msi文件,重新安裝后生成的快捷方式就可以查找圖片和更改圖標了。

 

 

版權說明

  本文屬學習筆記,歡迎轉載且注明文章出處,其版權歸作者和博客園共有。  

  作      者:Charles Chen

 文章出處:http://charles2008.cnblogs.com/  或  http://www.cnblogs.com/

 


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM