之前提到部署VSTO Solution時要設定安全性原則,而設定安全性原則,需要透過「Microsoft .NET Framework 2.0 Configuration」這個工具。

根據VSTO Solution的需求,客戶端主機(非開發主機)要裝有下列的軟體:前幾天辛苦地裝完,要去設定安全性原則時,才發現怎麼找都找不到「Microsoft .NET Framework 2.0 Configuration」。後來找到這篇Details about setup for the .NET Framework 2.0 configuration tool,寫說Configuration Tool已從.NET Framework 2.0 Redistributable中被移除,放到了.NET Framework 2.0 SDK裡面。Orz 害我找超久的……

該篇文章裡有提供一種解決方式,不過感覺挺複雜的。此外也可以安裝非常肥大的.NET Framework 2.0 SDK,安裝完就會出現Configuration Tool。最後還有一個比較正統的做法,就是利用.NET Framework 2.0 Redistributable裡的command-line tool Code Access Security Policy Tool (Caspol.exe)來設定,這個和原本Configuration Tool功能幾乎一模一樣,只是它是文字介面,需要下指令來使用。後面就非常簡略地介紹一下Caspol.exe吧。

Caspol.exe一般會放在「C:\Windows\Microsoft.NET\Framework\v2.0.50727\」底下,這篇Configuring Security Policy Using the Code Access Security Policy Tool (Caspol.exe)介紹了許多Caspol.exe的使用方式。不過在設定組件安全性原則時,主要只會用到這篇Configuring Code Groups Using Caspol.exe裡提到的功能。

CasPol.exe -user -listgroups
檢視「使用者」底下的Code Group。

CasPol.exe -user -addgroup 1 -url "C:\test.dll" FullTrust
新增Code Group到「使用者」裡標號為1的目錄底下,並將url設成"C:\test.dll",權限為FullTrust。

CasPol.exe -user -chggroup 1.1. -url "C:\test\test.dll" FullTrust
將標號為1.1.的Code Group的url改成"C:\test\test.dll",權限設成FullTrust。

CasPol.exe -user -remgroup 1.1.
移除標號為1.1.的Code Group。

若要寫成Batch檔,要記得在一開始加上下列的指令:
CasPol.exe -pp off
將prompt關掉。

為了搞定這東西,又花了好多時間……Orz

thePaul 發表在 痞客邦 PIXNET 留言(0) 人氣()