次の方法で共有


透過 Visual Studio Bootstrapper 讓 ClickOnce 佈署 Assembly 到 GAC

為了自己 逐漸退化的記憶, 我很努力的 Blog 起來:

-----

ClickOnce 的基本安全架構中,不能夠 "直接" 存取底層的資訊架構,有些腳本 在部署上是會無法支援的:

佈署元件到 GAC 中 就是一個 Default 無法達成的 目的 ; 但這只是 Default, 透過 Visual Studio Bootstrapper 架構

你可以做到很多進階的 腳本; 安裝到 GAC 就是一種運用。

 

首先你需要了解 Boorstrapper 的架構, 不過 別問我 Boorstrapper 怎麼翻譯.. 重點是 他代表了 可以讓你的 應用 AP 事先部署 許多

相依性的 系統元件,而更重要的是 這些元件 往往不是您的團隊 自行開發 又或者是 屬於同一專案團隊 單一系統專用。

在 Visual Studio 2005 開發工具中,內建了 許多平台相關的 Bootstrapper. VS 在工具內 把 Bootstrapper 叫做 "PreRequisite"

透過這個架構,您的 ClickOnce 應用程式不需要擔心 您所開發的 應用程式 在網路上 散佈時,不會遇到 使用者 沒有 安裝

.NET Framework 而不能 使用你的應用系統, 你也不必擔心,你所需要的 SQL Express 使用者電腦 剛剛好也沒有安裝...

Bootstrapper 幫你做好了這個彈性...

 

接續的問題是,我們可以透過 Bootstrapper 做到很多很棒的 IT 總管理腳本..

你可以透過他來 安裝 VSTO RumTime 所有需要的環境, 甚至包含 設定好 安全定義, 你也可以用來安裝您所開發出來的 Assembly 到 GAC 中。

 

要自訂 Bootstrapper , 首先在 SDK 裡頭 就有許多 豐富的 Meta Data Sample...; Product.xml vs Package.xml

甚至你直接就可以看到 內建 VS 工具裡頭的 範例 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\

 

更幸運的是, GotDotNet 上有一個很棒的工具 "Bootstrapper Manifest Generator", 透過這個工具 你可以包裝這些 XML meta tag with GUI 介面

很感動的...

-----------

How I do that ?

首先我設計了一個 OrzLibrary. 並且也配套了一個 Setup Project. 目的在把 Assembly 輸出到 GAC 目錄

接下來就簡單多了.... 透過 Bootstrapper Manifest Generator 設定好我要派送的 Bootstrapper 架構

在你 Build 完整個 XML metadata 之後, 未來您的 Visual Studio 2005 的 系統就會有 新的 (長靴子)Bootstrapper 出現...

同時,你的 ClickOnce 佈署畫面就會呈現

用力 安裝下去吧..... :)