背景
這段時間一直在做客戶端程序的打包程序,遇到各種坑。因為以前沒有任何這方面的經驗,歷經各種折騰,費盡九牛二虎之力總算是完成了。
雖然沒有太多技術含量,但是因為挺繁瑣的,所以還是在此記錄一下。
由於篇幅原因,先介紹第一階段:直接使用VS自帶的安裝項目打包程序。
后面會陸續介紹:自定義安裝界面(不適用windows默認風格),使用NSIS腳本制作打包程序。
1. 建立安裝項目工程
1.1. 創建工程
首先在 VS中打開你將要打包的項目。我的案例中,我的工程名叫System。
右擊解決方案 -> 添加 -> 新建項目,彈出下圖的對話框。
我們不妨命名新的安裝項目工程名為SetupSystem。
1.2. 設置安裝項目屬性
選中安裝項目工程,在它的屬性欄中設置一些參數。
Author——開發者
Manufacturer——軟件生產廠商
這兩個默認都是署名為微軟公司。
ProductName——產品名
Version——發布版本。改動版本號后,UpgradeCode也會隨之改變。
1.3. 設置默認安裝路徑
選中應用程序文件夾,查看其屬性欄。
如下圖所示,默認的安裝路徑為:ProgramFiles路徑+生成廠商名+產品名。
舉例來說,如果按照我上步驟(2)去設置,默認安裝路徑名就會是:C:\Program Files (x86)\zp\System\。
如果不想顯示生產廠商名,可以將[Manufacturer]這個參數刪除。
2. 添加安裝文件
(1)添加項目輸出
在文件系統一欄中有三個路徑:應用程序文件夾、用戶的“程序”菜單、用戶桌面。
應用程序文件夾和安裝目錄完全對應;用戶的“程序”菜單和用戶桌面想必不用多解釋了吧。
先雙擊應用程序文件夾,在這里添加安裝目錄下的內容。
打開右鍵菜單,點擊 添加 -> 項目輸出,彈出添加項目輸出組菜單。
選中主輸出,點擊確定。VS自動導入程序的exe文件和程序依賴的DLL文件。
(2)添加資源文件
當然,你可能還需要添加資源文件。
有兩種方法:
一種是,打開右鍵菜單,點擊 添加,選擇你要添加的文件、文件夾等資源。需要注意的是保持目錄結構和你期望的安裝根目錄結構一致。
還有一種方法更簡單,直接復制、拖拽你想添加的資源文件或文件夾到應用程序文件夾中。
3. 添加卸載程序
即在添加你的應用程序項目的時候,多添加一個msiexec.exe進去,這個文件在c:\windows\system32文件夾下。
msiexec.exe這個執行文件用於安裝Windows Installer安裝包(msi格式的文件)。
4. 創建快捷方式
4.1. 添加快捷方式
右擊可執行文件和msiexec.exe為它們添加快捷方式。
在快捷方式的屬性欄中,可以在Icon項中為其設置一個ico格式的圖標。
4.2. 設置msiexec快捷方式的參數
對於msiexec.exe的快捷方式,需要設置一些參數,才能正常卸載安裝的程序。
步驟如下:
選中安裝工程,在屬性欄中拷貝ProductCode項的值。
然后打開你創建的那個快捷方式的屬性對話框,
在Aguements屬性中輸入"/x {ProductCode}",
安裝程序后,打開注冊表,可以查看到卸載信息。
以我的機器(64位操作系統)為例,在
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{產品碼}可以看到下圖信息。
注:如果是32位,應該是HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft\Windows\CurrentVersion\Uninstall\{產品碼}
4.3. 為用戶的“程序”菜單和用戶桌面添加快捷方式
將執行文件的快捷方式分別拷貝到用戶的“程序”菜單和用戶桌面。
將卸載程序的快捷方式拷貝到用戶的“程序”菜單。
5. 添加依賴項
選中安裝項目工程,打開右鍵菜單,點擊屬性,彈出屬性對話框。
點擊系統必備,彈出系統必備對話框。
輸出文件名項中可以設置輸出文件的路徑,安裝程序最后會輸出到這個路徑下。
選中要添加的必備組件,點擊確定
注意,安裝必備組件有三種方式:
1. 安裝的時候會從供應商的官網上下載對應組件。
2. 直接將組件打包到安裝程序文件中,省去下載的功夫。
3. 指定一個路徑去下載對應組件。
最后,選中安裝項目工程,打開右鍵菜單,點擊生成,就會自動生成安裝程序了。
生成的安裝程序文件如下圖
6. 添加注冊表
(1) 在“解決方案資源管理器”窗口中選中安裝項目,單擊鼠標右鍵,在彈出的對話框中選擇“視圖/注冊表”選項,如圖:
(2) 在“注冊表”選項卡中,可以在HKRY_CURRENT_USER/Software或HKRY_CURRENT_MACHINE/Software下添加鍵值,當然節點名也是可以重命名的。
單擊鼠標右鍵,在彈出的對話框中選擇“新建/字符串值”選項。
如圖:我設置了一個名為key1的鍵,值為”Hello World”
(4)選中添加的注冊表項值,單擊鼠標右鍵,選擇“屬性窗口”選項,彈出“屬性”窗口,如圖,這里可以對注冊表項的值作修改。
按照以上步驟,就可以為安裝程序添加一個注冊表項。在程序安裝成功后,查看注冊表,可以看到到我們寫入的鍵值。
7. 添加、修改安裝頁面
VS支持對安裝程序添加、修改安裝頁面。但是我在嘗試中發現,不夠靈活。只能使用默認的樣式風格。在這里,我大致的介紹一下。
7.1. 打開用戶界面視圖
選中安裝項目,打開右鍵菜單,點擊 視圖 -> 用戶界面。
7.2. 添加對話框
在用戶界面視圖中,選中 啟動,打開右鍵菜單,點擊 添加對話框。
選擇想要添加的對話框,如下圖:
選中一個對話框,還可以調整它的執行順序。如下圖:
至於每個對話框的屬性設置,在這里不再贅述,有興趣的朋友可以自己折騰一下。
參考資料
http://blog.sina.com.cn/s/blog_473b385101019ufr.html
http://jingyan.baidu.com/article/e8cdb32b871eaa37052badd1.html