本篇文章主要描述使用Advanced Installer打包程序或服務,要點如下:
1.安裝windows服務
2.注冊服務需要的DLL組件
3.根據用戶的選擇,安裝指定的服務或程序
首先簡要說明Advanced Installer這個打包軟件。這是一個很專業的打包工具,可操作性很強。尤其是它的自定義操作設置,通過自定義操作可以讓你的程序去執行腳本或bat文件,這對於我們的程序做校驗或其他一些命令操作幫助巨大。接下來開始進入正題,安裝windows服務。打開Advanced Installer軟件,創建新項目,在通用那選擇企業版,語言選擇簡體中文,然后單擊創建項目。
進入到產品詳細界面,填寫名稱和發布者,然后單擊左側的"文件和文件夾",進入到文件資源詳細界面。右鍵單擊"應用程序文件夾",選中"添加文件夾",選擇你要打包的程序。如果程序中含有xml文件或InI文件,會提示你作為配置項導入,如果在安裝的時候需要做一些配置(如數據庫的連接),你就要勾選,否則不勾選。(本篇不做此功能)
之后應用程序文件夾下面就有了你要打包的程序了。你也可以為你的程序包重命名。
接下來准備第二部分,單擊左側樹形菜單的“組織”,進入到其詳細界面。右鍵單擊"產品",選中"新建功能",創建一個新功能。標識符和描述根據需要填寫。
然后單擊"文件和文件夾"項,回到之前的文件資源頁面,選中程序文件夾,右鍵出現菜單, 選中“移動到“=>”移動到功能"。就會出現之前創建的功能,選擇你要的功能,把程序文件移動到該功能下。功能和程序文件夾最好是一一對應。
接着我們准備第三部分,選擇左側的樹形菜單中的"服務",進入到服務配置界面。右鍵"安裝服務“,選擇”新服務“,然后彈出一個對話框讓你選擇文件,選中你的服務文件夾下的應用程序就行。這樣服務部分就准備好了。這個操作是針對服務程序的,如果打包程序沒有服務,就不用操作此部分,略過即可。
還有一點就是服務的名稱不是隨便填寫的,如果服務程序里面關聯了服務的名稱,一定要把名稱設置成關聯的名字,否則無法啟動,切記,切記...(如下圖,服務程序默認應該是CCS.exe,但真實名稱應該是圖中所寫)
安裝后立即啟動,勾選啟動,否則安裝服務后需要手動啟動。
現在所有准備工作已完成。然后我們去操作服務需要注冊的組件。
回到"文件和文件夾"詳情頁,找到需要注冊組件的服務文件夾,選中要注冊的DLL文件,右鍵選擇屬性,在屬性對對話框界面找到"注冊",把第一個復選框勾選。這樣在安裝程序是就會自動注冊該組件了。
接着講解根據用戶的選澤安裝指定的服務或應用程序。
在左側的樹形列表中,選中"對話框",右側顯示對話框的詳細設計界面。在”首次安裝“文件夾下,可以添加對話框以及其它控件。現在只是制作一個簡單展示選擇安裝示例。在“准備安裝”的界面上,從工具箱拖拽兩個圖像復選框到對話框上。
在右側的屬性列表中【屬性名稱】和【值】,這兩個屬性很重要,主要根據這兩個屬性可以判斷用戶的選擇,只要把這個屬性綁定到功能上就能實現指定安裝了。
之后選擇左側樹形列表中的"組織",選中其中的功能項,在“安裝行為”那做綁定。如下圖所示:
這樣功能"S1"就與復選框1做了綁定,同理,將S2與復選框2做綁定。最后構建生成一個exe文件,打包程序就完成了。