VS打包程式製作的快捷方式每次啟動都要windows正在配置

pragma_g發表於2020-11-23

剛剛開發完成的一個WPF專案,使用VS2010自帶的打包工具對它進行打包(設定開始選單的快捷方式),安裝後,發現快捷方式的目標指向有問題。這裡我主要想說明打包後進行安裝完畢後,快捷方式的指向問題。

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檔案,重新安裝後生成的快捷方式就可以查詢圖片和更改圖示了。

相關文章