Windows Vista における CAS 設定について

なかなか、思ったようにブログの更新ができません。

ネタはいろいろあるのですが、、、

38才にもなると、家庭も仕事もプライベートなど、日々、忙しく、また、時間も取れず、また、体力も続かず。。。

プライオリティ付けで作業の順番をつけるとなかなか、ブログの更新ができませんが、ちゃんとお伝えしていきたいと思います。

今回は Windows Vista 上においての CAS 設定について、ご紹介したいと思います。

CAS 設定とは、.NET アプリケーションをセキュアに動作させるための設定でドキュメントが参照するアセンブリの場所とアセンブリを参照する権限を必要とするものです。

この設定がなされていない .NET アプリケーションの動作は不可となります。

CAS 設定の詳細は下記を見ていただければと思います。

Visual Studio Tools for Office

http://www.microsoft.com/japan/msdn/office/vsto2003/VSTOIntro.aspx#vstointro_link6

Windows Vista 上で CAS 設定を利用するシーンですが、Windows Vista 上で動作する Office 2003 開発があるかと思います。

ClickOnce を利用すればいいんじゃないの?という声があるかと思いますが、

実は、Office 2003 のソリューションにおいては、ClickOnce が利用できません。これは、VSTO2005 のときと何ら変わりません。

VS2008 で開発した Office 2007 のソリューションにおいては、ClickOnce が利用できます。

 

で、本題ですが、Windows Vista には .NET Framework Configuration 2.0 (mscorcfg.msc) が含まれていないようです。

一部の情報では、[コントロールパネル]-[プログラムと機能]-[Windows の機能の有効化または無効化] から有効化できると記載がありますが、私が確認したところできませんでした。

また、.NET Framework Configuration 2.0  の実態である mscorcfg.msc の 2.0 対応版も Vista には含まれていないようです。

ですので、Windows Vista において、CAS 設定が必要な場合には、CasPol にて実装していただく必要があります。

CasPol は上記の .NET アプリケーションの CAS 設定をコマンドベースでおこなってくれるものになります。

以下は CasPol の例となります。

配置場所: "c:\test"

.NET Framework の場所: "C:\Windows\Microsoft .NET\.NET Framework\v2.0.50727"

コマンド:

C:\Windows\Microsoft .NET\.NET Framework\v2.0.50727>caspol -u -ag All_Code -url c:\test\* fulltrust -n "test"

台数が多い場合については、caspol を利用するケースが多いと思いますので、あまり影響は少ないかもしれませんが、このような仕様が存在しています。