Visual Studio Installer打包安裝專案VS2015

HsuanKeys發表於2018-06-14

使用VS2015的Visual Studio Installer打包安裝專案,雖然整體操作很簡單,但還是有幾個特殊的點需要記一下,故寫下此部落格方便以後查閱

第一步,建立安裝專案

如下:

 

裡面最左側的框框有三個資料夾

1.“應用程式資料夾”即"Application Folder"表示要安裝的應用程式需要新增的檔案;

2.“使用者的‘程式’選單”即"User's Programs Menu"表示:應用程式安裝完,使用者的“開始選單”中的顯示的內容,一般在這個資料夾中,需要再建立一個檔案用來存放:應用程式.exe和解除安裝程式.exe;

3.“使用者桌面”即"User's Desktop"表示:這個應用程式安裝完,使用者的桌面上的建立的.exe快捷方式。

第二步,右鍵“應用程式資料夾”,新增——檔案

新增的檔案一般是已經編譯生成過的應用程式專案的debug目錄下的exe檔案(即位於../bin/Debug資料夾下的主程式exe檔案);

新增後,一般它會自動把exe程式所需的依賴項也加進來,如各種dll檔案,在右側的“Detected Dependencies”裡面可以看到它自動匯入了哪些依賴項,方便你檢查是否有遺漏

接下來,可能還剩一些資料夾或者配置檔案XML等沒有自動加進來,這個時候就需要自己手動新增

方式也是一樣,右鍵“應用程式資料夾”,新增——資料夾,新增——檔案,這裡就不再贅述

第三步,建立快捷方式

右鍵主程式exe檔案,選擇“建立快捷方式到……”

然後,中側框框裡會出現一個快捷方式項,將它剪下,貼上到“使用者桌面”資料夾下

至於快捷方式的名稱、圖示、描述等其他屬性,可以在屬性皮膚中設定,如下

第四步,新增解除安裝程式

既然有安裝就有解除安裝,解除安裝程式其實是一個Windows作業系統自帶的程式(C:Windows\System32\Msiexec.exe),只不過是通過給它傳特殊的引數命令,來讓它執行解除安裝

新增和設定解除安裝程式的操作如下:

首先,將解除安裝程式放在“應用程式資料夾”目錄下,右鍵“應用程式資料夾”,新增——檔案,在系統盤下找到這個路徑檔案——C:Windows\System32\Msiexec.exe新增進去

由於Msiexec.exe這個名字不夠直觀,所以一般接下來我們會對它重新命名,一般改為“解除安裝.exe”或“UnInstall.exe”,然後給它建立快捷方式並將快捷方式放到“使用者程式選單”目錄下

 

接下來是很關鍵的一步,設定解除安裝引數,告訴解除安裝程式該解除安裝哪個

首先,找到安裝專案的ProductCode,在安裝專案的屬性皮膚中可以看到,如下

複製此ProductCode ,貼上到“解除安裝.exe”快捷方式的Arguments屬性,前面加/x空格,如下

Arguments=“/x {81575537-5736-457F-9DBE-857C1F67BE70}”記得/x後面一定要有個空格

第五步,其他設定

如果還想對安裝程式進行其他設定,比如,友化安裝歡迎介面,自定製安裝步驟,修改登錄檔,設定啟動條件(比如要求必須先安裝指定的.net FrameWork版本才可以啟動)等,可以右鍵安裝專案,在View中可以進行選擇設定,如下

有需要可以再去研究,這裡就不詳細贅述了

第六步,設定系統必備

一般我們開發的程式都有一個目標框架,也就是所依賴的.net Framework版本環境,如.net Framework 2.0/3.5/4.0/4.5等

要想我們的程式能在電腦上正常執行,首先就得保證電腦上裝有指定的.net Framework版本框架,可以在安裝包的屬性中設定,啟動安裝前檢查作業系統中是否安裝了指定版本的框架或其他依賴,設定方法如下:

右鍵安裝包專案,點開“屬性”

然後點選“Prerequisites……”

選擇你程式需要的.net Framework版本以及其他依賴項

選擇“從元件供應商的網站上下載系統必備元件”,這樣一來,即使電腦上沒有安裝需要的.net Framework也不要緊,只要設定了這項,安裝程式會自動從微軟的官網上下載對應的元件並安裝,是不是很方便

 

第七步,生成打包安裝檔案

右鍵安裝專案,選擇重新生成

然後開啟解決方案資料夾下的Debug或Release資料夾,就可以看到生成的安裝檔案

生成的setup.exe與setup.msi的區別
setup.exe裡邊包含了對安裝程式的一些條件的檢測,比如需要.net的版本是否安裝等,當條件具備後,setup.exe接著呼叫setup.msi,而setup.msi則可以直接執行,如果你確定條件都具備的情況下。

轉載地址:https://www.cnblogs.com/dongh/p/6868638.html

相關文章