<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx</link><description>Assembly level declarative security comes in three forms, RequestMinimum, RequestOptional, and RequestRefuse. The three can be briefly defined as: RequestMinimum -- the set of permissions that are absolutely required for this assembly to run RequestOptional</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#222949</link><pubDate>Mon, 30 Aug 2004 22:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:222949</guid><dc:creator>Nicole Calinoiu</dc:creator><description>The example in your last paragraph is a wee bit off.  Use of at least one RequestOptional will result in tacit refusal most(*) permissions not explicitly requested by the assembly, but this is not true of RequestMinimum.  Therefore, a RequestMinimum for FileIOPermission is not, by itself, sufficient for refusal of RegistryPermission.&lt;br&gt;&lt;br&gt;(*) Exceptions include SecurityPermission.Execution and identity permissions (e.g.: StrongNameIdentityPermission).</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#222952</link><pubDate>Mon, 30 Aug 2004 22:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:222952</guid><dc:creator>Shawn</dc:creator><description>Good catch -- I was actually in the process of updating the entry when you posted this.  I'd forgotten to point out the default values of each set, which can lead to the confusion that you mention.&lt;br&gt;&lt;br&gt;-Shawn</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#226157</link><pubDate>Mon, 06 Sep 2004 22:02:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:226157</guid><dc:creator>Fred</dc:creator><description>if I understand well:&lt;br&gt;&lt;br&gt;PermissionSet = (RequestOptional + RequestMinimum+ Execution + IdentityPermission) - RequestRefuse?&lt;br&gt;&lt;br&gt;But what happened with permission set provided par the evidences from code groups?&lt;br&gt;&lt;br&gt;Fred</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#226165</link><pubDate>Mon, 06 Sep 2004 22:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:226165</guid><dc:creator>Fred</dc:creator><description>OK, I think I understand.&lt;br&gt;&lt;br&gt;In fact the &amp;quot;Request&amp;quot; security actions act as a filter on the code group policy.&lt;br&gt;&lt;br&gt;Everythink that don't pass the filter is ignore. So I can't grant myself permissions that security policy would refuse me.&lt;br&gt;</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#226197</link><pubDate>Tue, 07 Sep 2004 01:13:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:226197</guid><dc:creator>Alfred Gary Myers Jr.</dc:creator><description>&amp;lt;Quote&amp;gt;&lt;br&gt;Internally, the CLR takes the union of the RequestMinimum and RequestOptional sets (and adds to that execution permission), and that resulting set is the only set of permissions that your application will have when it's running.  For instance, demanding unrestricted Registry permission will fail if either of the above declarative requests are in place.&lt;br&gt;&amp;lt;/Quote&amp;gt;&lt;br&gt;&lt;br&gt;[assembly: FileIOPermission(SecurityAction.RequestMinimum, Unrestricted = true)] by it's own, will not cause RegistryPermission(..).Demand() to fail.&lt;br&gt;&lt;br&gt;For more information:&lt;br&gt;&lt;a target="_new" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcomputingallowedpermissionset.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpconcomputingallowedpermissionset.asp&lt;/a&gt;</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#226198</link><pubDate>Tue, 07 Sep 2004 01:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:226198</guid><dc:creator>Alfred Gary Myers Jr.</dc:creator><description>Ooops! Wrong link...&lt;br&gt;&lt;br&gt;Here's the right one:&lt;br&gt;&lt;br&gt;&lt;a target="_new" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpcondetermininggrantedpermissions.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpcondetermininggrantedpermissions.asp&lt;/a&gt;</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#226343</link><pubDate>Tue, 07 Sep 2004 16:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:226343</guid><dc:creator>Shawn</dc:creator><description>Hi Alfred,&lt;br&gt;&lt;br&gt;Sorry for the confusing code snippet above, I'll update it.  You're right that without a RequestOptional your RequestRefuse will have no affect.  I've covered that in my section about defaults:&lt;br&gt;&lt;br&gt;&amp;lt;Quote&amp;gt;Since the permission set restriction is calculated by taking the minimum request and unioning with the optional request, and the default optional request is FullTrust, unless an Optional request is made, the union of the minimum request and the FullTrust request will result in a FullTrust set.  What this boils down to is that unless you specify a RequestOptional set, the permissions your application runs under will not be limited in the fashion stated above.&amp;lt;/Quote&amp;gt;&lt;br&gt;&lt;br&gt;You're also right that this does not provide a way to increase your security.  If you say RequestMinimum for FullTrust, and the CLR won't grant you FullTrust through the CAS policy, your assembly won't even load.  This is only a way to restrict your permission sets.&lt;br&gt;&lt;br&gt;-Shawn</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#226578</link><pubDate>Wed, 08 Sep 2004 01:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:226578</guid><dc:creator>Alfred Gary Myers Jr.</dc:creator><description>Hi Shawn,&lt;br&gt;&lt;br&gt;&amp;lt;Quote&amp;gt;So far, so good.  However, now we come to the interesting side effect, one that oftentimes confuses people new to assembly level declarative security.  Namely, using any declarative security at all has the potential to decrease the permission set that your assembly is running with.  This is obvious in the case of RequestRefuse, however with RequestMinimum and RequestOptional, the reasoning is far less clear.&lt;br&gt;&lt;br&gt;Internally, the CLR takes the union of the RequestMinimum and RequestOptional sets (and adds to that execution permission), and that resulting set is the only set of permissions that your application will have when it's running.  For instance, demanding unrestricted Registry permission will fail if either of the above declarative requests are in place.&amp;lt;/Quote&amp;gt;&lt;br&gt;&lt;br&gt;RequestMinimum does *not* have the potential to decrease the permisssion set. Only RequestOptionl does.&lt;br&gt;&lt;br&gt;This behavior can be confirmed in &lt;a target="_new" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpcondetermininggrantedpermissions.asp"&gt;http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpcondetermininggrantedpermissions.asp&lt;/a&gt; &lt;br&gt;&lt;br&gt;I've created an alternate version of your code to run in a Windows Forms application.&lt;br&gt;On the form I putted a label, a button and added the following code to it's Click event handler:&lt;br&gt;&lt;br&gt;private void button1_Click(object sender, System.EventArgs e)&lt;br&gt;{&lt;br&gt;	try&lt;br&gt;	{&lt;br&gt;		new System.Security.Permissions.FileIOPermission(System.Security.Permissions.PermissionState.Unrestricted).Demand();&lt;br&gt;		this.label1.Text = &amp;quot;Have full FileIO permission&amp;quot;;&lt;br&gt;	}&lt;br&gt;	catch &lt;br&gt;	{&lt;br&gt;		this.label1.Text = &amp;quot;Do not have full FileIO permission&amp;quot;;&lt;br&gt;	}&lt;br&gt;}&lt;br&gt;&lt;br&gt;To run this example, your code will need FileIOPermission and UIPermission so let's make some tests.&lt;br&gt;&lt;br&gt;First add:&lt;br&gt;[assembly: FileIOPermission(SecurityAction.RequestMinimum, Unrestricted=true)]&lt;br&gt;&lt;br&gt;and run the code on your local machine. &amp;quot;Have full FileIO permission&amp;quot; is displayed in the Console Window.&lt;br&gt;This happens because the assembly is granted FileIOPermission and whatever other permisssions the PolicyManager grants it based on evidence provided by the host and security policies in effect.&lt;br&gt;&lt;br&gt;Now change the request to Optional:&lt;br&gt;[assembly: FileIOPermission(SecurityAction.RequestOptional, Unrestricted=true)]&lt;br&gt;&lt;br&gt;This time the code throws a SecurityException because RequestOptional has the effect you stated in your post.&lt;br&gt;The assembly only has permissions to execute and to do File IO. It does not have permission to do UI.&lt;br&gt;&lt;br&gt;If you run the application from any zone other than Local Machine, it will return &amp;quot;Do not have full FileIO permission&amp;quot; with RequestMininum and an exception with RequestOptional.</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#226897</link><pubDate>Wed, 08 Sep 2004 16:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:226897</guid><dc:creator>Shawn</dc:creator><description>Hi Alfred,&lt;br&gt;&lt;br&gt;RequestMinimum actually does have the potential to reduce your permission set.  Like I said above, the set that you'll get is basically:&lt;br&gt;&lt;br&gt;(Grant intersect (RequestMinimum union RequestOptional) ) minus RequestRefuse&lt;br&gt;&lt;br&gt;Now, we need to add in the default values of each item to see how things really work.  By default RequestMinimum is empty, and RequestOptional is the FullTrust set.  Therefore that union produces FullTrust, intersected with the granted set produces the same grant set.  Subtract out the refused set (by default the emtpy set), and you can see how by default we end up with the granted set by default.&lt;br&gt;&lt;br&gt;Now, lets move on to your sample.  You keep RequestRefuse empty, so we can drop that part of the equation.  Next, you up RequestMinimum to FileIO, but don't touch RequestOptional which stays at FullTrust.  The union of FileIO and FullTrust is FullTrust.  Intersect that with the grant set, and you'll get the grant set back.&lt;br&gt;&lt;br&gt;In the second part of your sample you reduce the RequestOptional set to be FileIO, and keep RequestMinimum at its default empty state.  Now the union of FileIO and empty is FileIO.  Intersect that with the granted set, and you'll end up with just FileIO.&lt;br&gt;&lt;br&gt;Does that help clarify things a bit?  If you want to further demonstrate this, change your sample to RequestMinimum for UI, and RequestOptional for something unrelated, say Registry.  You'll see that you get an exception when you demand the FileIO permissions.&lt;br&gt;&lt;br&gt;-Shawn</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#226945</link><pubDate>Wed, 08 Sep 2004 17:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:226945</guid><dc:creator>Alfred Gary Myers Jr.</dc:creator><description>Hi Shawn,&lt;br&gt;&lt;br&gt;&amp;lt;Quote&amp;gt;RequestMinimum actually does have the potential to reduce your permission set. Like I said above, the set that you'll get is basically:&amp;lt;/Quote&amp;gt;&lt;br&gt;&lt;br&gt;We agree in all but the statement above.&lt;br&gt;&lt;br&gt;Since the default value of RequestMinimum is Nothing anything you put there (except Nothing) will be *more* than Nothing.&lt;br&gt;&lt;br&gt;Since RequestOptional defaults to FullTrust, anything you put there (except FullTrust it self) will be *less* than FullTrust.&lt;br&gt;&lt;br&gt;Alfred</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#226968</link><pubDate>Wed, 08 Sep 2004 18:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:226968</guid><dc:creator>Shawn</dc:creator><description>Looks like we're down to semmantics now :-)  What you say above is completely true.  However, if I have some code that contains:&lt;br&gt;&lt;br&gt;[assembly: SecurityPermission(SecurityAction.RequestMinimum, Execution = true)]&lt;br&gt;[assembly: FileIOPermission(SecurityAction.RequestMinimum, Unrestricted = true)]&lt;br&gt;[assembly: RegistryPermission(SecurityAction.RequestMinimum, Unrestricted = true)]&lt;br&gt;[assembly: UIPermission(SecurityAction.RequestOptional, Unrestricted = true)]&lt;br&gt;&lt;br&gt;Now this code will only be allowed to execute, read files, read the registry, and do UI related work.  If I remove the RequestMinimum line for RegistryPermission, I've done nothing to modfiy the optional set, however my code will no longer be able to access the registry.  I've used the RequestMinimum set to limit the permissions that I've recieved.&lt;br&gt;&lt;br&gt;The confusing point is that since minimum and optional are unioned, and since optional defaults to FullTrust, you need to specify an optional set before the minimum set will start affecting your grant set.  However, both are unioned together, so once that optional set is created both have the same affect on your resulting permission set.  (Assuming that you would have been granted more than what you're declaratively requesting).&lt;br&gt;&lt;br&gt;-Shawn</description></item><item><title>Handling Entry Assemblies that Won't Load: Method 1</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#276068</link><pubDate>Tue, 07 Dec 2004 04:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:276068</guid><dc:creator>.Net Security Blog</dc:creator><description /></item><item><title>Handling Entry Assemblies that Won't Load: Method 2</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#278477</link><pubDate>Wed, 08 Dec 2004 23:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:278477</guid><dc:creator>.Net Security Blog</dc:creator><description /></item><item><title>Dynamic Assemblies and Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#422764</link><pubDate>Sat, 28 May 2005 02:50:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:422764</guid><dc:creator>.Net Security Blog</dc:creator><description>Speaking of dynamic IL generation ...&lt;br&gt;Before Whidbey, the framework supplied two ways of creating code...</description></item><item><title>RequestOptional Removes Permissions</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#466662</link><pubDate>Thu, 15 Sep 2005 03:48:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:466662</guid><dc:creator>.Net Security Blog</dc:creator><description>Another interesting question arose today.&amp;amp;amp;nbsp; An assembly was granted FullTrust by policy, which was...</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#690474</link><pubDate>Mon, 07 Aug 2006 06:05:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:690474</guid><dc:creator>Rajesh Shori</dc:creator><description>I am getting following error when using the fileIO permisson&lt;br&gt;See the end of this message for details on invoking &lt;br&gt;just-in-time (JIT) debugging instead of this dialog box.&lt;br&gt;&lt;br&gt;************** Exception Text **************&lt;br&gt;System.Security.SecurityException: Request failed.&lt;br&gt; &amp;nbsp; at Act.Framework.ActFramework.FailLogOn(Exception ex, TraceCategory tCat, TraceLevel tLevel)&lt;br&gt; &amp;nbsp; at Act.Framework.ActFramework.LogOn(String userName, String password, String databaseType, String databaseHost, String databaseName, Boolean fireEvents, Boolean suppressTierCheck, Boolean suppressSchemaCheck, Boolean suppressLicenseCheck, Boolean allowTrialModeDeparture)&lt;br&gt; &amp;nbsp; at Act.Framework.ActFramework.LogOn(String userName, String password, String databaseType, String databaseHost, String databaseName, Boolean fireEvents)&lt;br&gt; &amp;nbsp; at Act.Framework.ActFramework.LogOn(String userName, String password, String databaseType, String databaseHost, String databaseName)&lt;br&gt; &amp;nbsp; at Act.Framework.ActFramework.LogOn(String xmlPADFile, String userName, String password)&lt;br&gt; &amp;nbsp; at UserControl.UserControl1.LoginToACTDatabase()&lt;br&gt; &amp;nbsp; at UserControl.UserControl1.button1_Click(Object sender, EventArgs e)&lt;br&gt; &amp;nbsp; at System.Windows.Forms.Control.OnClick(EventArgs e)&lt;br&gt; &amp;nbsp; at System.Windows.Forms.Button.OnClick(EventArgs e)&lt;br&gt; &amp;nbsp; at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)&lt;br&gt; &amp;nbsp; at System.Windows.Forms.Control.WmMouseUp(Message&amp;amp; m, MouseButtons button, Int32 clicks)&lt;br&gt; &amp;nbsp; at System.Windows.Forms.Control.WndProc(Message&amp;amp; m)&lt;br&gt; &amp;nbsp; at System.Windows.Forms.ButtonBase.WndProc(Message&amp;amp; m)&lt;br&gt; &amp;nbsp; at System.Windows.Forms.Button.WndProc(Message&amp;amp; m)&lt;br&gt; &amp;nbsp; at System.Windows.Forms.ControlNativeWindow.OnMessage(Message&amp;amp; m)&lt;br&gt; &amp;nbsp; at System.Windows.Forms.ControlNativeWindow.WndProc(Message&amp;amp; m)&lt;br&gt; &amp;nbsp; at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)&lt;br&gt;&lt;br&gt;The granted set of the failing assembly was:&lt;br&gt;&amp;lt;PermissionSet class=&amp;quot;System.Security.PermissionSet&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; version=&amp;quot;1&amp;quot;&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.EnvironmentPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.FileDialogPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.FileIOPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.IsolatedStorageFilePermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.ReflectionPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.RegistryPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.SecurityPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Flags=&amp;quot;Assertion, UnmanagedCode, Execution, ControlThread, ControlEvidence, ControlPolicy, SerializationFormatter, ControlDomainPolicy, ControlPrincipal, ControlAppDomain, RemotingConfiguration, Infrastructure, BindingRedirects&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.UIPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Net.DnsPermission, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Drawing.Printing.PrintingPermission, System.Drawing, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Diagnostics.EventLogPermission, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Net.SocketPermission, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Net.WebPermission, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Diagnostics.PerformanceCounterPermission, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.DirectoryServices.DirectoryServicesPermission, System.DirectoryServices, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Messaging.MessageQueuePermission, System.Messaging, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.ServiceProcess.ServiceControllerPermission, System.ServiceProcess, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Data.OleDb.OleDbPermission, System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Data.SqlClient.SqlClientPermission, System.Data, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Unrestricted=&amp;quot;true&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.SiteIdentityPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Site=&amp;quot;localhost&amp;quot;/&amp;gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.UrlIdentityPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Url=&amp;quot;&lt;a rel="nofollow" target="_new" href="http://localhost/&amp;quot;/&amp;gt;"&gt;http://localhost/&amp;quot;/&amp;gt;&lt;/a&gt;&lt;br&gt; &amp;nbsp; &amp;lt;IPermission class=&amp;quot;System.Security.Permissions.ZoneIdentityPermission, mscorlib, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;version=&amp;quot;1&amp;quot;&lt;br&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Zone=&amp;quot;Trusted&amp;quot;/&amp;gt;&lt;br&gt;&amp;lt;/PermissionSet&amp;gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;************** Loaded Assemblies **************&lt;br&gt;mscorlib&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 1.0.5000.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 1.1.4322.2032&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/microsoft.net/framework/v1.1.4322/mscorlib.dll&lt;br&gt;----------------------------------------&lt;br&gt;System&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 1.0.5000.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 1.1.4322.2032&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/system/1.0.5000.0__b77a5c561934e089/system.dll&lt;br&gt;----------------------------------------&lt;br&gt;System.Drawing&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 1.0.5000.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 1.1.4322.2032&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/system.drawing/1.0.5000.0__b03f5f7f11d50a3a/system.drawing.dll&lt;br&gt;----------------------------------------&lt;br&gt;System.DirectoryServices&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 1.0.5000.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 1.1.4322.2032&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/system.directoryservices/1.0.5000.0__b03f5f7f11d50a3a/system.directoryservices.dll&lt;br&gt;----------------------------------------&lt;br&gt;System.Messaging&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 1.0.5000.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 1.1.4322.2032&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/system.messaging/1.0.5000.0__b03f5f7f11d50a3a/system.messaging.dll&lt;br&gt;----------------------------------------&lt;br&gt;System.ServiceProcess&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 1.0.5000.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 1.1.4322.2032&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/system.serviceprocess/1.0.5000.0__b03f5f7f11d50a3a/system.serviceprocess.dll&lt;br&gt;----------------------------------------&lt;br&gt;System.Data&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 1.0.5000.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 1.1.4322.2032&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/system.data/1.0.5000.0__b77a5c561934e089/system.data.dll&lt;br&gt;----------------------------------------&lt;br&gt;RegexAssembly18_0&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 0.0.0.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: n/a&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: &lt;br&gt;----------------------------------------&lt;br&gt;UserControl&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 1.0.0.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: n/a&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: &lt;a rel="nofollow" target="_new" href="http://localhost/ActiveXTestWeb/UserControl.dll"&gt;http://localhost/ActiveXTestWeb/UserControl.dll&lt;/a&gt;&lt;br&gt;----------------------------------------&lt;br&gt;System.Windows.Forms&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 1.0.5000.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 1.1.4322.2032&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/system.windows.forms/1.0.5000.0__b77a5c561934e089/system.windows.forms.dll&lt;br&gt;----------------------------------------&lt;br&gt;Act.Framework&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/act.framework/8.2.82.0__ebf6b2ff4d0a08aa/act.framework.dll&lt;br&gt;----------------------------------------&lt;br&gt;Act.Shared.Diagnostics&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/act.shared.diagnostics/8.2.82.0__ebf6b2ff4d0a08aa/act.shared.diagnostics.dll&lt;br&gt;----------------------------------------&lt;br&gt;Act.Shared.Utilities&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/act.shared.utilities/8.2.82.0__ebf6b2ff4d0a08aa/act.shared.utilities.dll&lt;br&gt;----------------------------------------&lt;br&gt;Act.Shared.Config&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/act.shared.config/8.2.82.0__ebf6b2ff4d0a08aa/act.shared.config.dll&lt;br&gt;----------------------------------------&lt;br&gt;System.Xml&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 1.0.5000.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 1.1.4322.2032&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/system.xml/1.0.5000.0__b77a5c561934e089/system.xml.dll&lt;br&gt;----------------------------------------&lt;br&gt;Microsoft.mshtml&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 7.0.3300.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 7.0.3300.0&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/microsoft.mshtml/7.0.3300.0__b03f5f7f11d50a3a/microsoft.mshtml.dll&lt;br&gt;----------------------------------------&lt;br&gt;Accessibility&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 1.0.5000.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 1.1.4322.573&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/accessibility/1.0.5000.0__b03f5f7f11d50a3a/accessibility.dll&lt;br&gt;----------------------------------------&lt;br&gt;Act.Shared.Licensing&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/act.shared.licensing/8.2.82.0__ebf6b2ff4d0a08aa/act.shared.licensing.dll&lt;br&gt;----------------------------------------&lt;br&gt;Act.Data&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/act.data/8.2.82.0__ebf6b2ff4d0a08aa/act.data.dll&lt;br&gt;----------------------------------------&lt;br&gt;Act.Data.ActDb&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/act.data.actdb/8.2.82.0__ebf6b2ff4d0a08aa/act.data.actdb.dll&lt;br&gt;----------------------------------------&lt;br&gt;Act.Data.Resources&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/act.data.resources/8.2.82.0__ebf6b2ff4d0a08aa/act.data.resources.dll&lt;br&gt;----------------------------------------&lt;br&gt;System.EnterpriseServices&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 1.0.5000.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 1.1.4322.2032&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/system.enterpriseservices/1.0.5000.0__b03f5f7f11d50a3a/system.enterpriseservices.dll&lt;br&gt;----------------------------------------&lt;br&gt;Act.Shared.LicProvider&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/act.shared.licprovider/8.2.82.0__ebf6b2ff4d0a08aa/act.shared.licprovider.dll&lt;br&gt;----------------------------------------&lt;br&gt;Act.Shared.Windows.Forms&lt;br&gt; &amp;nbsp; &amp;nbsp;Assembly Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;Win32 Version: 8.2.82.0&lt;br&gt; &amp;nbsp; &amp;nbsp;CodeBase: file:///c:/windows/assembly/gac/act.shared.windows.forms/8.2.82.0__ebf6b2ff4d0a08aa/act.shared.windows.forms.dll&lt;br&gt;----------------------------------------&lt;br&gt;&lt;br&gt;************** JIT Debugging **************&lt;br&gt;To enable just in time (JIT) debugging, the config file for this&lt;br&gt;application or machine (machine.config) must have the&lt;br&gt;jitDebugging value set in the system.windows.forms section.&lt;br&gt;The application must also be compiled with debugging&lt;br&gt;enabled.&lt;br&gt;&lt;br&gt;For example:&lt;br&gt;&lt;br&gt;&amp;lt;configuration&amp;gt;&lt;br&gt; &amp;nbsp; &amp;nbsp;&amp;lt;system.windows.forms jitDebugging=&amp;quot;true&amp;quot; /&amp;gt;&lt;br&gt;&amp;lt;/configuration&amp;gt;&lt;br&gt;&lt;br&gt;When JIT debugging is enabled, any unhandled exception&lt;br&gt;will be sent to the JIT debugger registered on the machine&lt;br&gt;rather than being handled by this dialog.&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#1460645</link><pubDate>Sat, 13 Jan 2007 13:00:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1460645</guid><dc:creator>Graham S</dc:creator><description>&lt;p&gt;I've read ( &lt;a rel="nofollow" target="_new" href="http://www.bluevisionsoftware.com/WebSite/TipsAndTricksDetails.aspx?Name=PermissionRequests"&gt;http://www.bluevisionsoftware.com/WebSite/TipsAndTricksDetails.aspx?Name=PermissionRequests&lt;/a&gt; ) that the following attribute means &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;&amp;quot;... makes an optional request for no permission set. This means that no permission set will be granted to the code by the code access security policy. All permissions that should be granted must be requested using additional assembly-level attributes.&amp;quot;:&lt;/p&gt;
&lt;p&gt;[assembly: PermissionSet(SecurityAction.RequestOptional, Unrestricted = false)]&lt;/p&gt;
&lt;p&gt;I'm having a hard time seeing why it has that effect. &amp;nbsp;Likewise with each of the other variations (as applied individually to an assembly); I can't figure out what they mean and why:&lt;/p&gt;
&lt;p&gt;[assembly: PermissionSet(SecurityAction.RequestOptional, Unrestricted = true)]&lt;/p&gt;
&lt;p&gt;[assembly: PermissionSet(SecurityAction.RequestMinimum, Unrestricted = false)]&lt;/p&gt;
&lt;p&gt;[assembly: PermissionSet(SecurityAction.RequestMinimum, Unrestricted = true)]&lt;/p&gt;
&lt;p&gt;[assembly: PermissionSet(SecurityAction.RequestRefuse, Unrestricted = false)]&lt;/p&gt;
&lt;p&gt;[assembly: PermissionSet(SecurityAction.RequestRefuse, Unrestricted = true)]&lt;/p&gt;
&lt;p&gt;I'd be very grateful for some enlightenment on this - it's been puzzling me for months. &amp;nbsp;There seems to be lots of information about using RequestOptional/Minimimum/Refuse with Unrestricted/true/false on specific permissions but not on &amp;quot;no permission sets&amp;quot;.&lt;/p&gt;</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#1484466</link><pubDate>Wed, 17 Jan 2007 21:32:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1484466</guid><dc:creator>shawnfa</dc:creator><description>&lt;p&gt;Hi Graham,&lt;/p&gt;
&lt;p&gt;PermissionSet(Unrestricted = true) means FullTrust, so that's esentially doing the declarative action on *every* permission.&lt;/p&gt;
&lt;p&gt;If you were to do it on PermissionSet(Unrestricted = false), that's the empty permission set, so you can translate it to doing the corresponding action on *no* permissions.&lt;/p&gt;
&lt;p&gt;The only action that PermissionSet(Unrestricted = false) will have an affect on is RequestOptional since that defaults to FullTrust, and you're overriding it with Nothing.&lt;/p&gt;
&lt;p&gt;-Shawn&lt;/p&gt;
</description></item><item><title>re: Assembly Level Declarative Security</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#1497599</link><pubDate>Sat, 20 Jan 2007 11:53:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1497599</guid><dc:creator>Graham S</dc:creator><description>&lt;p&gt;Hi Shawn, thank you so much for clearing that up for me.&lt;/p&gt;
&lt;p&gt;Graham.&lt;/p&gt;
</description></item><item><title>Mirror, mirror on the wall which is the securest of them all? Part Deux</title><link>http://blogs.msdn.com/shawnfa/archive/2004/08/30/222918.aspx#1733661</link><pubDate>Wed, 21 Feb 2007 11:04:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1733661</guid><dc:creator>codesecurely.org</dc:creator><description>&lt;p&gt;The story so far … And now for more of the adventures of Jack Bauer! ;). So since I posted the first&lt;/p&gt;
</description></item></channel></rss>