之前提到部署VSTO Solution時要設定安全性原則,而設定安全性原則,需要透過「Microsoft .NET Framework 2.0 Configuration」這個工具。
根據VSTO Solution的需求,客戶端主機(非開發主機)要裝有下列的軟體:
該篇文章裡有提供一種解決方式,不過感覺挺複雜的。此外也可以安裝非常肥大的.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
根據VSTO Solution的需求,客戶端主機(非開發主機)要裝有下列的軟體:
- Office 2003 Pro SP1 or later
- Microsoft .NET Framework 2.0 Redistributable
- Primary Interop Assemblies
- VSTO 2005 Runtime
該篇文章裡有提供一種解決方式,不過感覺挺複雜的。此外也可以安裝非常肥大的.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