<rss version="2.0"><channel><title>Suneet.Net- Technology Evangelist's Blog.</title><link>Http://www.suneet.net/Defualt.aspx</link><description>Blog about emerging Microsoft technologies and myself. Includes the exciting stuff I come across in day to day development environmnt.</description><item><title>Message Context Lost After Call Rules Shape</title><description>&lt;P&gt;Another problem I faced while working on BRE recently.&lt;BR&gt;If you call BRE from orchestration using Call BRE shape and pass in the message into it, the message lose all its context and you cannot access it after it. It seems Call BRE shape creates new message out of the passed XLangMessage and points the same message variable to it.&lt;BR&gt;&lt;BR&gt;Solution: Just extract all values from the context before you make a call to BRE.&lt;/P&gt;</description><author>Suneet Nangia</author><category>Biztalk 2004/2006/2009</category><pubDate>Fri, 04 Jun 2010 11:21:30 GMT</pubDate></item><item><title>Map project does not compile on BizTalk 2009 build server</title><description>While working on the new project on&amp;nbsp;BizTalk 2009 I came across this compilation error on the build server which had only "Build Components" of BizTalk deployed on it as suggested by documentation.&lt;BR&gt;&lt;BR&gt;Our map project was throwing the following error while compiling-&lt;BR&gt;&lt;BR&gt;Error: XXXX.btm : error btm1023: Exception Caught: The map contains a reference to a schema node that is not valid. Perhaps the schema has changed. Try reloading the map in the BizTalk Mapper. The XSD XPath of the node is: /*[local-name()='&lt;SCHEMA&gt;']/*[local-name()='XXXXXXX']/*[local-name()='XXXXXXXX']/*[local-name()='XXXXXXX']/*[local-name()='XXXXX']&lt;BR&gt;&lt;BR&gt;Map project was building correctly on development machine but failing on this build server.&lt;BR&gt;&lt;BR&gt;Resolution: Install SDK and Developer Tools components of BTS as well on the build server.</description><author>Suneet Nangia</author><category>Biztalk 2004/2006/2009</category><pubDate>Thu, 20 May 2010 16:55:00 GMT</pubDate></item><item><title>SSO Config Error in BizTalk Server 2009. Failed to connect to the SQL Database 'SSODB' on SQL Server</title><description>While&amp;nbsp;configuring BizTalk 2009 eval copy on my development machine, I faced the following error in the&amp;nbsp;event log-&lt;BR&gt;Login failed for user 'xyz' SQL error '18456'&lt;BR&gt;&lt;BR&gt;And following error in the config console-&lt;BR&gt;Failed to connect to the SQL Database 'SSODB' on SQL Server 'abc'&lt;BR&gt;&lt;BR&gt;You get this error when a 'SSOSQL.dll' is unregistered on the machine. To register it back use the following command from the visual studio command prompt-&lt;BR&gt;'Regasm SSOSQL.dll'&lt;BR&gt;&lt;BR&gt;Note: Make sure you change the current directory in the prompt to the location where this dll is present i.e. "C:\Program Files\Common Files\Enterprise Single Sign-On\"&lt;BR&gt;&lt;BR&gt;Another thing I noticed was that when I installed BTS before installing VS 2010 it was configured smoothly but somehow I guess VS 2010 unregistered the SSOSQL.dll file.</description><author>Suneet Nangia</author><category>Biztalk 2004/2006/2009</category><pubDate>Thu, 15 Apr 2010 22:51:25 GMT</pubDate></item><item><title>"data rows to skip" bug in SSIS Flat File Connection Manager</title><description>&lt;P&gt;SSIS 2005&lt;BR&gt;Flat File Connection Manager Bug-&lt;BR&gt;I was bit shocked to see this bug which MS is still reluctant to fix.&lt;/P&gt;
&lt;P&gt;If you change the "data rows to skip" settings under "Preview" tab it will impact how the rows are imported actually using a file and is not just confined to the preview of the data in that window. Essentially, if you set it to say 100, the package when executed will skip 100 rows from the file and guess what not just from beginning but also also the random positions as well.&lt;/P&gt;
&lt;P&gt;If MS says this is a minor UI bug then the question is why is it skipping rows from the random positions also and not just from the top?? I am sure no developer will like to skip random rows from the file :)&lt;/P&gt;
&lt;P&gt;It is a BUG indeed.&lt;/P&gt;</description><author>Suneet Nangia</author><category>SSIS</category><pubDate>Thu, 20 Aug 2009 13:40:10 GMT</pubDate></item><item><title>The Stash - Windows Mobile Wallet</title><description>&lt;P&gt;Window Mobile 6.0 e-Wallet&lt;BR&gt;&lt;BR&gt;Developed out of absolute necessity, this tool allows you to save confidential data on your windows mobile based device in a highly secure manner. As a software professional and hobbyist I ended up developing this utility instead of buying one from Handango or some other site.&lt;/P&gt;
&lt;P&gt;Features-&lt;BR&gt;1.&amp;nbsp;Single sign on based login i.e. allows you to have one password for all your encrypted data.&lt;BR&gt;2.&amp;nbsp;Provision to change your password anytime.&lt;BR&gt;3.&amp;nbsp;Provision to add/modify/delete templates.&lt;BR&gt;4.&amp;nbsp;Provision to add/modify/delete categories.&lt;BR&gt;5.&amp;nbsp;Auto shut down. Application will shut down itself after 5 minutes of your login for safety.&lt;BR&gt;6.&amp;nbsp;Items are encrypted using industry standard “Advanced Encryption Standard (AES)”.&lt;BR&gt;7.&amp;nbsp;Password’s irreversible hash is stored in the application and not the actual password which is the industry standard.&lt;/P&gt;
&lt;P&gt;Known Issues-&lt;BR&gt;1.&amp;nbsp;UI needs improvement&lt;BR&gt;2. Field type validation missing&lt;BR&gt;3.&amp;nbsp;Multi wallet functionality is missing&lt;BR&gt;4. Adding field in the item creation/edit screen is not possible&lt;BR&gt;5.&amp;nbsp;Windows integration to take backup of the data securely&lt;BR&gt;&lt;/P&gt;
&lt;P&gt;Caveats-&lt;BR&gt;1.&amp;nbsp;Password is not stored anywhere so if you forget the password no one can retrieve the information ever.&lt;BR&gt;2.&amp;nbsp;Not everything is encrypted i.e. all item data is encrypted but not the master data like templates, category as they do not contain any critical information. By selectively encrypting critical information tool also operates with higher speed and without&amp;nbsp; frozen screens.&lt;/P&gt;
&lt;P&gt;Installation-&lt;BR&gt;Installation should be quite straight forward, copy the cab files from the link below to your mobile. Double click SQL CE first to install it&amp;nbsp;and then double click the application cab file to install it.&amp;nbsp;&lt;BR&gt;Default Password: &lt;STRONG&gt;password&lt;/STRONG&gt;&lt;BR&gt;&lt;BR&gt;I would be happy take further inputs from the users and gradually upgrade the application. &lt;BR&gt;&lt;BR&gt;Prerequisite Link: &lt;A href="/BlogFiles/4d59aa8a-cb46-45ad-b0a3-f7a94e8d115e.CAB"&gt;SQL CE 3.5 Cab File&lt;/A&gt;&lt;U&gt;&lt;FONT color=#0066cc&gt; &lt;/FONT&gt;&lt;/U&gt;&lt;BR&gt;&lt;BR&gt;Download Link: &lt;A href="/BlogFiles/40684e37-cad9-4022-ae91-0d9e7e06f0b7.cab"&gt;Application Cab File&lt;/A&gt;&lt;U&gt;&lt;FONT color=#0066cc&gt; &lt;/FONT&gt;&lt;/U&gt;&lt;BR&gt;&lt;BR&gt;Screen Shots: &lt;A href="/BlogFiles/d67892f2-df3f-473f-91cf-a825c453ca6c.bmp" target=_blank&gt;ScreenShot1&lt;/A&gt;, &lt;A href="/BlogFiles/ae9bb371-d432-4787-bd3c-fac0c99ccf8f.bmp" target=_blank&gt;ScreenShot2&lt;/A&gt;, &lt;A href="/BlogFiles/76584b56-a419-4378-9fa3-350315e0a60c.bmp" target=_blank&gt;ScreenShot3&lt;/A&gt;, &lt;A href="/BlogFiles/b6010512-9e6e-47ac-b175-0f988bea9674.bmp" target=_blank&gt;ScreenShot4&lt;/A&gt;, &lt;A href="/BlogFiles/9967c857-4062-40e9-915e-f042a81a7331.bmp" target=_blank&gt;ScreenShot5&lt;/A&gt;, &lt;A href="/BlogFiles/38dfeb17-2c7a-4659-b8d6-79271a346263.bmp" target=_blank&gt;ScreenShot6&lt;/A&gt;, &lt;A href="/BlogFiles/d8d3c82b-0af3-4e56-8b36-e220b74e5e67.bmp" target=_blank&gt;ScreenShot7&lt;/A&gt;, &lt;A href="/BlogFiles/01477cd6-8c53-448b-88b8-f5c529609a87.bmp" target=_blank&gt;ScreenShot8&lt;/A&gt;, &lt;A href="/BlogFiles/e289fb86-64af-488f-b142-900d9bf3fb5c.bmp" target=_blank&gt;ScreenShot9&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;&lt;FONT color=#50ba09&gt;Whats In Progress-&lt;BR&gt;Some UI improvements like-&lt;BR&gt;A new Settings Screen&lt;BR&gt;Auto Shut Time Configuration and its Sliding Window Shut Time&lt;BR&gt;Ok button on edit screens now trigger the save action, more intuitive&lt;BR&gt;Concise User Help (Inside Application)&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;Cheers&lt;BR&gt;Suneet&lt;/P&gt;</description><author>Suneet Nangia</author><category>Windows Mobile</category><pubDate>Sat, 23 May 2009 18:00:11 GMT</pubDate></item><item><title>BizTalk Version Updater</title><description>&lt;P&gt;BizTalk project structure does not allow you to use Assembly.Info file to assign version to its assembly. BizTalk project intead uses project properties to assign version number to the assembly. This can be easily done using properties page&amp;nbsp;but problem arises when you want to update version number in automated manner say nightly build or if you have large number of BizTalk projects in a solution.&lt;BR&gt;I was confronted with the similar requirement recently in my current assignment. I looked around on Google a bit and quickly found out the tool to update version number using .exe but unfortunately it did not cater our requirement completely. The primary reason of dropping off that tool was that we have other components like pipeline, functoids etc which also need automated versioning facility.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;Finally, I have managed to develop such utility which can update BizTalk project files with new version and also update .net files with the new version. &lt;BR&gt;&lt;BR&gt;There are 4 files which are required by this tool they are specified below along with their description-&lt;/P&gt;
&lt;P&gt;&lt;B&gt;1. BTSVersionUpdater.exe&lt;/B&gt;&lt;BR&gt;This is the application which must be executed to change the version.&lt;BR&gt;&lt;BR&gt;&lt;B&gt;2. BTSVersionUpdater.exe.config&lt;/B&gt;&lt;BR&gt;This is the app.config file for the application and primarily specifies the manifest file path and the schema file path which is used to validate the manifest file.&lt;BR&gt;&lt;BR&gt;&lt;B&gt;3. Manifest.xsd&lt;/B&gt;&lt;BR&gt;This is the XSD schema for the manifest.xml. This must NOT be modified as it is used to validate the structure of the manifest file before the application starts processing it.&lt;BR&gt;&lt;BR&gt;&lt;B&gt;4. Manifest.xml&lt;/B&gt;&lt;BR&gt;This file is the main configuration file which needs to be customised for your solution as it contains different files to be checked out and modified for its version. This works on the regex find and replace pattern so you have to specify different parameters for this as per your requirement. The provided sample manifies file is quite self explanatory but if you still have any queries around it please give me a shout.&lt;BR&gt;&lt;BR&gt;Tool Download: &lt;A href="/BlogFiles/9f461979-c27a-412d-950e-f4a3a59bba96.zip"&gt;http://www.suneet.net/BlogFiles/9f461979-c27a-412d-950e-f4a3a59bba96.zip&lt;/A&gt;&lt;BR&gt;&lt;/P&gt;</description><author>Suneet Nangia</author><category>Biztalk 2004/2006/2009</category><pubDate>Fri, 24 Apr 2009 13:09:49 GMT</pubDate></item><item><title>Microsoft SWIFT Accelerator- Currency code change, a hack.</title><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;Recently, at my present client side I was asked to introduce the new currency code change for Zimbabwe for the MT10x messages coming in from SWIFT. We use Microsoft SWIFT Accelerator to validate and process the SWIFT messages and the current message pack installed does not support this change as quite &lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-GB; mso-fareast-language: EN-GB; mso-bidi-language: AR-SA"&gt;obviously &lt;/SPAN&gt;this change was made recently.&lt;BR&gt;&lt;BR&gt;So I started to fiddle around and figured out the way you can do this without having a new message pack until Nov 2009. The accelerator uses two&amp;nbsp;stage validation of the message i.e. schema validation and BRE validation and therefore we will have to modify both in order to succeed in this change.&lt;BR&gt;&lt;BR&gt;Caveat: This may not be supported by Microsoft as this is not documented anywhere and must not be changed in normal circumstances.&lt;BR&gt;&lt;BR&gt;As you most of you would have guessed the way, I will simply put up the steps used here to change the currency. You can do the similar changes to modify other tit bits in the validation and BRE rules.&lt;BR&gt;&lt;BR&gt;&lt;B&gt;Step 1 - Change schema&lt;/B&gt;&lt;BR&gt;&lt;BR&gt;a. Open SWIFT Base Types.xsd present in your project&lt;BR&gt;b. In the simple type "currencycodePCTType" change enumeration from &amp;lt;xs:enumeration value="ZWD" /&amp;gt; to &amp;lt;xs:enumeration value="ZWR" /&amp;gt;&lt;BR&gt;c. In the simple type "currencycodeType" change enumeration from &amp;lt;xs:enumeration value="ZWD" /&amp;gt; to &amp;lt;xs:enumeration value="ZWR" /&amp;gt;&lt;BR&gt;d. In the simple type "currencyamountType" change ZWD to ZWR value in the pattern where ever present.&lt;BR&gt;&lt;BR&gt;&lt;B&gt;Step 2 - Change BRE&lt;BR&gt;&lt;/B&gt;&lt;BR&gt;a. Using BRE Deployment Utility (available with SWIFT Accelerator), undeploy the SWIFT policies and corresponding Vocabs.&lt;BR&gt;b. Open the following vocab file "A4SWIFT_CodeLists.xml" present in your SWIFT Accelerator / Message Pack installation folder.&lt;BR&gt;c. Change currency value "ZWD" to "ZWR" where ever present.&lt;BR&gt;d. Also, you will have to change the currency value in the policy and network rules' files present in SWIFT Accelerator / Message Pack installation folder e.g MT103_Validation_Policy.xml etc.&lt;BR&gt;e. Deploy the policies and vocabs again using the same utility.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Interesting part about the string present in A4SWIFT_CodeLists.xml is that they are having some cryptic numeric values associated with them. After opening the CommonFunctions.CheckValidAmount method (which is used to evaluate the rule) in the reflector it became perceptible that these numbers actually suggests the number of decimal places for that currency.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Cheers!&lt;/FONT&gt;&lt;/P&gt;</description><author>Suneet Nangia</author><category>Biztalk 2004/2006/2009</category><pubDate>Tue, 21 Apr 2009 10:01:21 GMT</pubDate></item><item><title>McAfee Installation Error</title><description>When installating McAfee on your system again you may get errors saying "java script is not properly installed on this machine" and installation will halt. Dont know why this error crops up when you can get rid of this by using McAfee removal tool from their site.
Process is explained here: http://service.mcafee.com/FAQDocument.aspx?id=TS100507</description><author>Suneet Nangia</author><category>Technical Non Development</category><pubDate>Fri, 06 Mar 2009 08:08:49 GMT</pubDate></item><item><title>McAfee Security Center Blank</title><description>I am posting this because it is something very irritating.&lt;br&gt;If you install IE 8 Beta 2, your McAfee Security Center will stop showing any controls on it i.e. it becomes a blank window. Simplest solution is to uninstall IE 8 and live life peacefully. &lt;br&gt;I have seen this problem otherwise also (without IE 8) so in that case try configure IE for lower security settings to resolve it e.g. allow ActiveX controls in IE settings etc.&lt;br&gt;&lt;br&gt;HTH&lt;br&gt;</description><author>Suneet Nangia</author><category>Technical Non Development</category><pubDate>Sat, 11 Oct 2008 13:58:50 GMT</pubDate></item><item><title>GAC assemblies using managed .net wrapper.</title><description>Okies... its been long now when I blogged last. Actually lots of things were going on in parallel during this period in my life so was coping them on priority. I have now changed my job&amp;nbsp;and taking time to adjust in the new environment and enjoying working with some new good people here.&lt;BR&gt;I was developing custom tool for side by side deployment of BTS application and wanted to do Gac-ing and UnGac-ing assemblies using code. Although I did have an idea about it but never really made it work from start to end. Richard Grime has quite good tuts on this (Fusion). &lt;BR&gt;&lt;BR&gt;There is actually no direct way to access GAC using managed dll. This functionality is actually provided by fusion dll which non managed component. So the first thought comes is to make a call to this native dll and utilise it. You do have option in hand but there is already a wrapper created by Microsoft called "Microsoft.CLRAdmin.Fusion". This type provides set of methods to work with GAC like "AddAssemblytoGac", "RemoveAssemblyFromGac" and "ReadCache". Method names are self explaning but did you notice casing differences in "AddAssemblytoGac" and "RemoveAssemblyFromGac". In the first method "to" is in lowercase rather than upper. Anyways this assembly was not meant to be used by other developers than the MS itself&amp;nbsp; :). &lt;BR&gt;&lt;BR&gt;So here is the code for getting the assemblies in GAC using&amp;nbsp;non public method "ReadCache".&lt;BR&gt;#coderegion- ReadCache Method Usage#&lt;BR&gt;&lt;FONT color=#008080 size=2&gt;Assembly&lt;/FONT&gt;&lt;FONT size=2&gt; assem = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Assembly&lt;/FONT&gt;&lt;FONT size=2&gt;.Load(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt;.Format(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"mscorcfg,Version={0}, Culture={1}, PublicKeyToken={2}"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"2.0.0.0"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"neutral"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"b03f5f7f11d50a3a"&lt;/FONT&gt;&lt;FONT size=2&gt;)); 
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Type&lt;/FONT&gt;&lt;FONT size=2&gt; type = assem.GetType(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Microsoft.CLRAdmin.Fusion"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;uint&lt;/FONT&gt;&lt;FONT size=2&gt; flag = 2;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (args.Length &amp;gt; 0)&lt;BR&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;switch&lt;/FONT&gt;&lt;FONT size=2&gt; (args[0].ToLower())&lt;BR&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;case&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"zap"&lt;/FONT&gt;&lt;FONT size=2&gt;:&lt;BR&gt;flag = 1;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;break&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;case&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"gac"&lt;/FONT&gt;&lt;FONT size=2&gt;:&lt;BR&gt;flag = 2;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;break&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;case&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"download"&lt;/FONT&gt;&lt;FONT size=2&gt;:&lt;BR&gt;flag = 4;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;break&lt;/FONT&gt;&lt;FONT size=2&gt;;&lt;BR&gt;}&lt;BR&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;MethodInfo&lt;/FONT&gt;&lt;FONT size=2&gt; mi = type.GetMethod(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"ReadCache"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt;.NonPublic | &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt;.Static);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;ArrayList&lt;/FONT&gt;&lt;FONT size=2&gt; assems = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;ArrayList&lt;/FONT&gt;&lt;FONT size=2&gt;();&lt;BR&gt;mi.Invoke(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;FONT size=2&gt;[] { assems, flag });&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;foreach&lt;/FONT&gt;&lt;FONT size=2&gt; (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;FONT size=2&gt; o &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;in&lt;/FONT&gt;&lt;FONT size=2&gt; assems)&lt;BR&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;AssemInfo&lt;/FONT&gt;&lt;FONT size=2&gt; a = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;AssemInfo&lt;/FONT&gt;&lt;FONT size=2&gt;(o);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(a.Name);&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;class&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: teal"&gt;AssemInfo&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Name = &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Version = &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Locale = &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; PublicKey = &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; PublicKeyToken = &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Modified = &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; Codebase = &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; ProcType = &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; OSType = &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; OSVersion = &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;uint&lt;/SPAN&gt; nCacheType = 0;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; sCustom = &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; sFusionName = &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; AssemInfo(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; o)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SetString(o, &lt;SPAN style="COLOR: maroon"&gt;"Name"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SetString(o, &lt;SPAN style="COLOR: maroon"&gt;"Version"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SetString(o, &lt;SPAN style="COLOR: maroon"&gt;"Locale"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SetString(o, &lt;SPAN style="COLOR: maroon"&gt;"PublicKey"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SetString(o, &lt;SPAN style="COLOR: maroon"&gt;"PublicKeyToken"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SetString(o, &lt;SPAN style="COLOR: maroon"&gt;"Modified"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SetString(o, &lt;SPAN style="COLOR: maroon"&gt;"Codebase"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SetString(o, &lt;SPAN style="COLOR: maroon"&gt;"ProcType"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SetString(o, &lt;SPAN style="COLOR: maroon"&gt;"OSType"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SetString(o, &lt;SPAN style="COLOR: maroon"&gt;"OSVersion"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;SetString(o, &lt;SPAN style="COLOR: maroon"&gt;"sCustom"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;SetString(o, &lt;SPAN style="COLOR: maroon"&gt;"sFusionName"&lt;/SPAN&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;FieldInfo&lt;/SPAN&gt; src = o.GetType().GetField(&lt;SPAN style="COLOR: maroon"&gt;"nCacheType"&lt;/SPAN&gt;,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;BindingFlags&lt;/SPAN&gt;.NonPublic | &lt;SPAN style="COLOR: teal"&gt;BindingFlags&lt;/SPAN&gt;.Instance);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;nCacheType = (&lt;SPAN style="COLOR: blue"&gt;uint&lt;/SPAN&gt;)src.GetValue(o);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; SetString(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; o, &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; name)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;FieldInfo&lt;/SPAN&gt; src = o.GetType().GetField(name,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;BindingFlags&lt;/SPAN&gt;.NonPublic | &lt;SPAN style="COLOR: teal"&gt;BindingFlags&lt;/SPAN&gt;.Instance);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="COLOR: teal"&gt;FieldInfo&lt;/SPAN&gt; dst = &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;.GetType().GetField(name);&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;dst.SetValue(&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;, src.GetValue(o));&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;/SPAN&gt;&lt;BR&gt;&lt;FONT size=2&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;#endcoderegion#&lt;BR&gt;&lt;/FONT&gt;Code for adding the assemblies in GAC using non public method "AddAssemblytoGac".&lt;BR&gt;#coderegion-&amp;nbsp;AddAssemblytoGac Method Usage&amp;nbsp;Code#&lt;BR&gt;&lt;FONT color=#0000ff size=2&gt;&lt;BR&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; strongName = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt;.Format(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;CultureInfo&lt;/FONT&gt;&lt;FONT size=2&gt;.InvariantCulture,&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"mscorcfg,Version={0}, Culture={1}, PublicKeyToken={2}"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"2.0.0.0"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"neutral"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"b03f5f7f11d50a3a"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Assembly&lt;/FONT&gt;&lt;FONT size=2&gt; assem = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Assembly&lt;/FONT&gt;&lt;FONT size=2&gt;.Load(strongName);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;//Type name is not expected to be changed.&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Type&lt;/FONT&gt;&lt;FONT size=2&gt; type = assem.GetType(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Microsoft.CLRAdmin.Fusion"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;MethodInfo&lt;/FONT&gt;&lt;FONT size=2&gt; mi = type.GetMethod(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"AddAssemblytoGac"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt;.NonPublic | &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt;.Static);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;int&lt;/FONT&gt;&lt;FONT size=2&gt; result;&lt;BR&gt;result = (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;int&lt;/FONT&gt;&lt;FONT size=2&gt;)mi.Invoke(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;FONT size=2&gt;[] { _assemblyPath });&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;//If some error occurred &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (result != 0)&lt;BR&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;throw&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;TaskFailedException&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt;.Format(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;CultureInfo&lt;/FONT&gt;&lt;FONT size=2&gt;.InvariantCulture, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Assembly could not be placed in GAC. Error code returned was {0}"&lt;/FONT&gt;&lt;FONT size=2&gt;, result.ToString()), &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;true&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;true&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;}&lt;BR&gt;#endcoderegion#&lt;BR&gt;Code for removing the assemblies from GAC using&amp;nbsp;non public method "RemoveAssemblyFromGac".&lt;BR&gt;#coderegion-RemoveAssemblyFromGac Method Usage&amp;nbsp;Code#&lt;BR&gt;&lt;FONT color=#008000 size=2&gt;//Get assembly strong name details&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; strongName = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Assembly&lt;/FONT&gt;&lt;FONT size=2&gt;.LoadFrom(_assemblyPath).FullName;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt;[] strongNameParts = strongName.Split(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT size=2&gt;[] { &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;','&lt;/FONT&gt;&lt;FONT size=2&gt; });&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; assemblyName = strongNameParts[0];&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; version = strongNameParts[1].Split(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT size=2&gt;[] { &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;'='&lt;/FONT&gt;&lt;FONT size=2&gt; })[1];&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; publicKey = strongNameParts[3].Split(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;char&lt;/FONT&gt;&lt;FONT size=2&gt;[] { &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;'='&lt;/FONT&gt;&lt;FONT size=2&gt; })[1];&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt; configFileStrongName = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt;.Format(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;CultureInfo&lt;/FONT&gt;&lt;FONT size=2&gt;.InvariantCulture, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"mscorcfg,Version={0}, Culture={1}, PublicKeyToken={2}"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"2.0.0.0"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"neutral"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"b03f5f7f11d50a3a"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Assembly&lt;/FONT&gt;&lt;FONT size=2&gt; assem = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Assembly&lt;/FONT&gt;&lt;FONT size=2&gt;.Load(configFileStrongName);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;//Type name is not expected to be changed.&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Type&lt;/FONT&gt;&lt;FONT size=2&gt; fusionType = assem.GetType(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Microsoft.CLRAdmin.Fusion"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;MethodInfo&lt;/FONT&gt;&lt;FONT size=2&gt; mi = fusionType.GetMethod(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"RemoveAssemblyFromGac"&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt;.NonPublic | &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt;.Static);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;//Create variable of AssemInfo struct&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Type&lt;/FONT&gt;&lt;FONT size=2&gt; assemblyInfoType = assem.GetType(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Microsoft.CLRAdmin.AssemInfo"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;FONT size=2&gt; assemInfo = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Activator&lt;/FONT&gt;&lt;FONT size=2&gt;.CreateInstance(assemblyInfoType, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;true&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;//Binding flags to filter/search out fields in the type&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt; bindingFlags = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt;.NonPublic | &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt;.DeclaredOnly | &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt;.Instance | &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;BindingFlags&lt;/FONT&gt;&lt;FONT size=2&gt;.GetField;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;//Set field values.&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;//Disassembler shows only following fields are used by RemoveAssemblyFromGac method.&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;FieldInfo&lt;/FONT&gt;&lt;FONT size=2&gt; sName = assemblyInfoType.GetField(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Name"&lt;/FONT&gt;&lt;FONT size=2&gt;, bindingFlags);&lt;BR&gt;sName.SetValue(assemInfo, assemblyName);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;FieldInfo&lt;/FONT&gt;&lt;FONT size=2&gt; sVersion = assemblyInfoType.GetField(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Version"&lt;/FONT&gt;&lt;FONT size=2&gt;, bindingFlags);&lt;BR&gt;sVersion.SetValue(assemInfo, version);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;FieldInfo&lt;/FONT&gt;&lt;FONT size=2&gt; sPublicKeyToken = assemblyInfoType.GetField(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"PublicKeyToken"&lt;/FONT&gt;&lt;FONT size=2&gt;, bindingFlags);&lt;BR&gt;sPublicKeyToken.SetValue(assemInfo, publicKey);&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;FieldInfo&lt;/FONT&gt;&lt;FONT size=2&gt; sFusionName = assemblyInfoType.GetField(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"sFusionName"&lt;/FONT&gt;&lt;FONT size=2&gt;, bindingFlags);&lt;BR&gt;sFusionName.SetValue(assemInfo, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt;.Format(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;CultureInfo&lt;/FONT&gt;&lt;FONT size=2&gt;.InvariantCulture, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"{0}{1}"&lt;/FONT&gt;&lt;FONT size=2&gt;, strongName, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;", processorArchitecture=MSIL"&lt;/FONT&gt;&lt;FONT size=2&gt;));&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;FieldInfo&lt;/FONT&gt;&lt;FONT size=2&gt; nCacheType = assemblyInfoType.GetField(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"nCacheType"&lt;/FONT&gt;&lt;FONT size=2&gt;, bindingFlags);&lt;BR&gt;nCacheType.SetValue(assemInfo,(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;uint&lt;/FONT&gt;&lt;FONT size=2&gt;) 2);&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;BR&gt;bool&lt;/FONT&gt;&lt;FONT size=2&gt; result;&lt;BR&gt;result = (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;bool&lt;/FONT&gt;&lt;FONT size=2&gt;)mi.Invoke(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;FONT size=2&gt;[] { assemInfo });&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008000 size=2&gt;//If some error occurred &lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;if&lt;/FONT&gt;&lt;FONT size=2&gt; (!result)&lt;BR&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;throw&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;TaskFailedException&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;string&lt;/FONT&gt;&lt;FONT size=2&gt;.Format(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;CultureInfo&lt;/FONT&gt;&lt;FONT size=2&gt;.InvariantCulture, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Assembly could not be uninstalled from GAC. Error code returned was {0}"&lt;/FONT&gt;&lt;FONT size=2&gt;, result.ToString()), &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;true&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;true&lt;/FONT&gt;&lt;FONT size=2&gt;, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;null&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;}&lt;BR&gt;&lt;/FONT&gt;#endcoderegion#&lt;BR&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;</description><author>Suneet Nangia</author><category>Framework 2.0</category><pubDate>Thu, 19 Jun 2008 16:59:01 GMT</pubDate></item></channel></rss>