上一篇裡的「發行網站」已經算是很不錯的部署方式,在安全性上也能有不錯的保護,但發行網站編譯後還是一堆檔案,我們還是必須要自行「上傳」「複製」。但在Visual Studio 2010裡提供了兩種方式來把這一堆檔案變成一個「安裝檔」,不管是自行上傳安裝,還是要交給客戶都非常合適。
Visual Studio Installer安裝和部署方式
新增一個專案「ASP.NET Web應用程式」,然後選擇「檔案 加入 新增專案 Web 安裝專案」
|
加入新增專案 |
|
新增Web 安裝專案 |
加入「ASP.NET Web應用程式」至「Web 安裝專案」中:
|
專案輸出 | | |
|
選擇專案 |
在你的方案總管中可能有多個Web專案,你必須指定那一個專案的內容要放入「安裝檔」之中,然後就可以開始建置的動作,建置之前,我們可以先調整「Web 安裝專案」屬性:
|
屬性修改 |
基本上屬性內容都很簡單,像公司名稱…請自行參考「
Windows Installer 部署屬性」。別外,我們在方案總管的WebSetup按左鍵按屬性
|
專案輸出屬性 |
|
必要條件 |
這個必須條件就是重點了,你可以在這裡設定在使用安裝檔時系統必要的環境,安裝檔會進行必要條件的確認,如果確認通過才能順利安裝。
最後進行建置安裝檔的動作:
|
建置Web安裝專案 |
|
要求儲存專案檔 |
|
訊息 |
注意輸出的路徑,然後到此路徑之下就可以找到兩個安裝檔Setup.exe及WebSetup.msi。
安裝驗證序號
在使用「Visual Studio Installer安裝和部署」的方式時有一個很棒的功能,就是可以在用戶安裝時要求輸入序號,而序號驗證連一行程式都不用寫,有沒有很棒!我們來為安裝檔加上序號驗證功能:
|
使用者介面編輯器 |
|
加入對話方塊 |
在你想要驗證的地方按左鍵,然後選擇「加入對話方塊」,然後選擇「客戶資訊」,
|
客戶訊息 |
|
調整順序 |
調整一下到合適的順序,我是放到「歡迎」的後面。
|
客戶資訊屬性 |
SerialNumberTemplate引用MSDN:
指定在目標電腦上安裝時,用於驗證 [客戶資訊] 對話方塊上產品序號輸入的範本。
SerialNumberTemplate 屬性會決定文字方塊在對話方塊中顯示的方式,以及是否只驗證產品序號的格式,或者根據 Windows Installer 的演算法驗證。
例如,將 SerialNumberTemplate 屬性設定為 "<### - %%%%>" 會建立兩個文字方塊,中間以空格圍住的破折號分開。驗證第一個方塊 (###) 只需驗證使用者有輸入三個數字。第二個方塊 (%%%%) 會利用演算法驗證,將數字相加後除以 7。
如果餘為數 0,則驗證成功,否則驗證失敗。
可編輯字元會在 [客戶資訊] 對話方塊中顯示為文字方塊裡的預留位置,其他的任何字元則會顯示為文字方塊之間的標籤。
字元 | 意義 |
# | 需要一個不會包含在驗證演算法中的數字。 |
% | 需要一個會包含在驗證演算法中的數字。 |
? | 需要一個不會包含在驗證演算法中的英數字元。 |
^ | 需要大寫或小寫字元。數字在這裡無效。 |
< | 對話方塊中,在這個字元左邊的任何字元都不可見。 |
> | 對話方塊中,在這個字元右邊的任何字元都不可見。使用 < 字元時,需要一個結束字元。 |
其他任何字元都會當成常值常數處理。
ShowSerialNumber屬性必需改為「True」。
這樣我們就能利用上述字元來組合出我們的規則,只有符合我們規則序號才能安裝,這樣有沒有很專業的感覺。
參考資料:
Windows Installer 部署
謝謝,受益良多。
回覆刪除有小錯字喔! ^__^
別外,我們在方案總管的WebSetup按左鍵按屬性
此 右鍵