網頁

ASP.NET Web網站部署(2) -- Visual Studio Installer

上一篇裡的「發行網站」已經算是很不錯的部署方式,在安全性上也能有不錯的保護,但發行網站編譯後還是一堆檔案,我們還是必須要自行「上傳」「複製」。但在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 部署

1 則留言:

  1. 謝謝,受益良多。

    有小錯字喔! ^__^

    別外,我們在方案總管的WebSetup按左鍵按屬性

    此 右鍵

    回覆刪除

感謝您的留言,如果我的文章你喜歡或對你有幫助,按個「讚」或「分享」它,我會很高興的。