<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.artinsoft.net/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>Mauricio Rojas Blog : VIsual Basic .NET, upgrade</title><link>http://blogs.artinsoft.net/mrojas/archive/tags/VIsual+Basic+.NET/upgrade/default.aspx</link><description>Tags: VIsual Basic .NET, upgrade</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>AutoCAD VBA Migration to VB.NET or C#</title><link>http://blogs.artinsoft.net/mrojas/archive/2010/03/05/autocad-vba-migration-to-vb-net-or-c.aspx</link><pubDate>Fri, 05 Mar 2010 21:56:00 GMT</pubDate><guid isPermaLink="false">871fd81c-a111-489f-851d-e9637b8e2ce4:2091</guid><dc:creator>Mrojas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.artinsoft.net/mrojas/rsscomments.aspx?PostID=2091</wfw:commentRss><comments>http://blogs.artinsoft.net/mrojas/archive/2010/03/05/autocad-vba-migration-to-vb-net-or-c.aspx#comments</comments><description>&lt;p&gt;AutoCAD 2010 &lt;a href="http://usa.autodesk.com/adsk/servlet/ps/item?siteID=123112&amp;amp;id=12900036&amp;amp;linkID=9240617"&gt;will not be supporting VBA&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Quoting &lt;/p&gt;  &lt;p&gt;&lt;em&gt;“If you utilize VBA macros in your work environment, they will no longer work unless the VBA module is installed on your system. “     &lt;br /&gt;&lt;/em&gt;&lt;em&gt;“When you run a command that requires VBA, a message dialog box will be displayed stating that VBA is no longer installed with AutoCAD and directing you to a website where you can download the VBA module. “&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;And also you can see that Autodesk states: &lt;strong&gt;“Autodesk is evaluating how long VBA will be supported in Autodesk products in the future. Though supported in the AutoCAD 2010-based products, it may or may not be supported in future releases. Therefore, it is strongly recommended that VB developers develop all new code using VB .NET.&lt;/strong&gt;”&lt;/p&gt;  &lt;p&gt;VBA does not support 64bit systems in a native way.&lt;/p&gt;  &lt;p&gt;But If you want some advice from the VB migration experts or help on your migration project from VBA to VB.NET or C# you can us contact &lt;a href="http://www.artinsoft.com/ms_contactneeds.aspx?idn=16"&gt;Artinsoft Migration Services&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;We build the VB Upgrade Wizard that shipped with Visual Studio and have been doing VB migrations for years.&lt;/p&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=2091" width="1" height="1"&gt;</description><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/VIsual+Basic+.NET/default.aspx">VIsual Basic .NET</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/VB6+Migration/default.aspx">VB6 Migration</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/64-bit/default.aspx">64-bit</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/migration/default.aspx">migration</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/VB.NET/default.aspx">VB.NET</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/upgrade/default.aspx">upgrade</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/Visual+Basic+to+.NET/default.aspx">Visual Basic to .NET</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/AutoCAD/default.aspx">AutoCAD</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/AutoDESK/default.aspx">AutoDESK</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/migra/default.aspx">migra</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/vba/default.aspx">vba</category></item><item><title>Migration of ActiveX UserDocuments to C# or .NET</title><link>http://blogs.artinsoft.net/mrojas/archive/2008/11/04/migration-of-activex-userdocuments-to-c-or-net.aspx</link><pubDate>Wed, 05 Nov 2008 00:32:00 GMT</pubDate><guid isPermaLink="false">871fd81c-a111-489f-851d-e9637b8e2ce4:1715</guid><dc:creator>Mrojas</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.artinsoft.net/mrojas/rsscomments.aspx?PostID=1715</wfw:commentRss><comments>http://blogs.artinsoft.net/mrojas/archive/2008/11/04/migration-of-activex-userdocuments-to-c-or-net.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;&lt;img height="1" alt="" width="1" border="0" /&gt;This is an interesting workaround that you can use to support the migration of ActiveX Documents with the &lt;span class="SpellE"&gt;Artinsoft&lt;/span&gt; VBUM.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a class="" href="http://blogs.artinsoft.net/public_img/FixUserDocuments.zip"&gt;DOWNLOAD TOOL&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;With&amp;nbsp;this tool you can fix your projects, so they are supported by the the Artinsoft Migration Tool.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Just run the tool like this:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;font face="courier new,courier"&gt;&lt;strong&gt;FixUserDocuments Project1.vbp&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;This will generate a new project called Project1_modified.vbp. Migrate this new project and now UserDocuments will be supported.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="Section1"&gt;&lt;font size="4"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;First Some History&lt;/b&gt;&lt;/font&gt; &lt;/div&gt;
&lt;div class="Section1"&gt;&amp;nbsp;&lt;/div&gt;
&lt;p class="MsoNormal"&gt;VB6 allows you to create &lt;span class="SpellE"&gt;UserDocuments&lt;/span&gt;, which can be embedded inside an ActiveX container. The most common one is Internet Explorer.&lt;/p&gt;
&lt;div class="Section1"&gt;&amp;nbsp; &lt;/div&gt;
&lt;p class="MsoNormal"&gt;After compilation, the document is contained in a Visual Basic Document file (.VBD) and the server is contained in either an .EXE or .DLL file. &lt;/p&gt;
&lt;p class="MsoNormal"&gt;During development, the project is in a .DOB file, which is a plain text file containing the definitions of the project’s controls, source code, and so on. &lt;/p&gt;
&lt;p class="MsoNormal"&gt;If an ActiveX document project contains graphical elements that cannot be stored in text format, they will be kept in a .DOX file. &lt;/p&gt;
&lt;p class="MsoNormal"&gt;The .DOB and .DOX files in an ActiveX document project are parallel to the .FRM and .FRX files of a regular Visual Basic executable project.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;The trick to support ActiveX documents is that in general they are very similar to &lt;span class="SpellE"&gt;UserControls&lt;/span&gt;, and .NET &lt;span class="SpellE"&gt;UserControls&lt;/span&gt; can also be hosted in a &lt;span class="SpellE"&gt;WebBrowser&lt;/span&gt;.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;The following command line tool can be used to update your VB6 projects. It will generate a new solution where &lt;span class="SpellE"&gt;UserDocuments&lt;/span&gt; will be defined as &lt;span class="SpellE"&gt;UserControls&lt;/span&gt;.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;If you have an ActiveX document like the following:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img id="_x0000_i1025" height="335" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image001.jpg" width="575" alt="" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;After running the tool you will have &lt;span class="GramE"&gt;an&lt;/span&gt; Project like the following:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img id="_x0000_i1026" height="327" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image002.jpg" width="576" alt="" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Now &lt;span class="GramE"&gt;migrate&lt;/span&gt; your project.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;And you get something like this:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img id="_x0000_i1027" height="452" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image003.jpg" width="575" alt="" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Copy the generated assemblies and .&lt;span class="SpellE"&gt;pdb&lt;/span&gt; to the directory you will publish:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Create a Page lets say:&lt;/p&gt;
&lt;div class="Section1"&gt;&amp;nbsp; &lt;/div&gt;
&lt;p class="MsoNormal"&gt;UserDocument1.htm&lt;/p&gt;
&lt;p class="MsoNormal"&gt;With contents like:&lt;/p&gt;
&lt;div class="Section1"&gt;&amp;nbsp; &lt;/div&gt;
&lt;div class="Section1"&gt;
&lt;table class="MsoTableGrid" style="BORDER-RIGHT:medium none;BORDER-TOP:medium none;BORDER-LEFT:medium none;BORDER-BOTTOM:medium none;BORDER-COLLAPSE:collapse;mso-border-alt:solid windowtext .5pt;mso-yfti-tbllook:480;mso-padding-alt:0in 5.4pt 0in 5.4pt;mso-border-insideh:.5pt solid windowtext;mso-border-insidev:.5pt solid windowtext;" cellspacing="0" cellpadding="0" class="MsoTableGrid"&gt;

&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes;"&gt;
&lt;td class="" style="BORDER-RIGHT:windowtext 1pt solid;PADDING-RIGHT:5.4pt;BORDER-TOP:windowtext 1pt solid;PADDING-LEFT:5.4pt;PADDING-BOTTOM:0in;BORDER-LEFT:windowtext 1pt solid;WIDTH:6.15in;PADDING-TOP:0in;BORDER-BOTTOM:windowtext 1pt solid;mso-border-alt:solid windowtext .5pt;"&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;html&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;body&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;p&amp;gt;ActiveX Demo&amp;lt;&lt;span class="SpellE"&gt;br&lt;/span&gt;&amp;gt; &amp;lt;&lt;span class="SpellE"&gt;br&lt;/span&gt;&amp;gt;&amp;lt;/body&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;object id=&amp;quot;UserDocument1&amp;quot;&lt;/p&gt;
&lt;p class="MsoNormal" style="TEXT-ALIGN:left;" align="left"&gt;&lt;span class="SpellE"&gt;classid&lt;/span&gt;=&amp;quot;http:&amp;lt;&lt;span class="SpellE"&gt;&lt;span style="FONT-SIZE:8pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;AssemblyFileName&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:8pt;FONT-FAMILY:&amp;#39;Courier New&amp;#39;;"&gt;&amp;gt;&lt;/span&gt;#&amp;lt;&lt;span class="SpellE"&gt;QualifiedName&lt;/span&gt; of Object&amp;gt;&amp;quot; &lt;/p&gt;
&lt;p class="MsoNormal"&gt;height=&amp;quot;500&amp;quot; width=&amp;quot;500&amp;quot; VIEWASTEXT&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;/object&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;&lt;span class="SpellE"&gt;br&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class="SpellE"&gt;br&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;/html&amp;gt;&lt;/p&gt;&amp;nbsp; 
&lt;p class="MsoNormal"&gt;For example:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;html&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;body&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;p&amp;gt;ActiveX Demo&amp;lt;&lt;span class="SpellE"&gt;br&lt;/span&gt;&amp;gt; &amp;lt;&lt;span class="SpellE"&gt;br&lt;/span&gt;&amp;gt;&amp;lt;/body&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;object id=&amp;quot;UserDocument1&amp;quot;&lt;/p&gt;
&lt;p class="MsoNormal" style="TEXT-ALIGN:left;" align="left"&gt;&lt;span class="SpellE"&gt;classid&lt;/span&gt;=&amp;quot;http:Project1.dll#Project1.UserDocument1&amp;quot; &lt;/p&gt;
&lt;p class="MsoNormal"&gt;height=&amp;quot;500&amp;quot; width=&amp;quot;500&amp;quot; VIEWASTEXT&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;/object&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;&lt;span class="SpellE"&gt;br&lt;/span&gt;&amp;gt;&amp;lt;&lt;span class="SpellE"&gt;br&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;/html&amp;gt;&lt;/p&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Publish the output directory:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="Section1"&gt;
&lt;ol style="MARGIN-TOP:0in;"&gt;
&lt;li class="MsoNormal" style="mso-list:l2 level1 lfo1;tab-stops:list .5in;"&gt;Create a Virtual Directory: &lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;
&lt;p class="MsoNormal"&gt;&lt;img id="_x0000_i1028" height="216" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image004.jpg" width="288" alt="" /&gt;&lt;/p&gt;
&lt;ol style="MARGIN-TOP:0in;" start="2"&gt;
&lt;li class="MsoNormal" style="mso-list:l0 level1 lfo2;tab-stops:list .5in;"&gt;Name the directory as you want. For examples Project1&lt;/li&gt;&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img height="209" alt="" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image005.jpg" width="264" border="0" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img height="209" alt="" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image006.jpg" width="264" border="0" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img height="228" alt="" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image007.jpg" width="288" border="0" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN-LEFT:0.25in;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img height="218" alt="" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image008.jpg" width="276" border="0" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN-LEFT:0.25in;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img height="218" alt="" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image009.jpg" width="276" border="0" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style="MARGIN-TOP:0in;" start="3"&gt;
&lt;li class="MsoNormal" style="mso-list:l3 level1 lfo3;tab-stops:list .5in;"&gt;Properties for the Virtual Directory will look like this:&lt;/li&gt;&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img id="_x0000_i1034" height="465" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image010.jpg" width="472" alt="" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;NOTE: to see this dialog right click over the virtual directory&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style="MARGIN-TOP:0in;" start="4"&gt;
&lt;li class="MsoNormal" style="mso-list:l1 level1 lfo4;tab-stops:list .5in;"&gt;Now just browse to the address lets say http:\\localhost\Project1\UserDocument1.htm&lt;/li&gt;&lt;/ol&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img id="_x0000_i1035" height="240" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image011.jpg" width="300" alt="" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;The colors are different because of the Host configuration however a simple CSS like:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;&lt;span class="GramE"&gt;style&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;span class="GramE"&gt;body&lt;/span&gt; {background-color: gray;}&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;/style&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Can make the desired change:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img height="236" alt="" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image012.jpg" width="300" border="0" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Notice that there will be security limitations, for example for thinks like &lt;span class="SpellE"&gt;MessageBoxes&lt;/span&gt;.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;You can allow restricted operations by setting your site as a restricted site:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;For example:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img id="_x0000_i1037" height="145" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image013.jpg" width="96" alt="" /&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;img id="_x0000_i1038" height="246" src="http://blogs.artinsoft.net/public_img/UserDocuments%20-%20Scope%20and%20Estimation_files/image014.jpg" width="384" alt="" /&gt;&lt;/p&gt;
&lt;h2&gt;&lt;a class="" title="_Toc213578743" name="_Toc213578743"&gt;&lt;/a&gt;Restrictions&lt;/h2&gt;
&lt;p class="MsoNormal"&gt;The constraints for this solution include: &lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;* This solutions requires Windows operating system on the client side &lt;/p&gt;
&lt;p class="MsoNormal"&gt;* Internet Explorer 6.0 is the only browser that provides support for this type of hosting &lt;/p&gt;
&lt;p class="MsoNormal"&gt;* It requires .NET runtime to be installed on the client machine. &lt;/p&gt;
&lt;p class="MsoNormal"&gt;* It also requires Windows 2000 and IIS 5.0 or above on the server side &lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Due to all of the above constraints, it might be beneficial to detect the capabilities of the client machine and then deliver content that is appropriate to them. For example, since forms controls hosted in IE require the presence of the .NET runtime on the client machine, we can write code to check if the client machine has the .NET runtime installed. You can do this by checking the value of the &lt;span class="SpellE"&gt;Request.Browser.ClrVersion&lt;/span&gt; property. If the client machine has .NET installed, this property will return the version number; otherwise it will return 0.0.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Adding a script like:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;&lt;span class="GramE"&gt;script&lt;/span&gt;&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;span class="GramE"&gt;if&lt;/span&gt; ((&lt;span class="SpellE"&gt;navigator.userAgent.indexOf&lt;/span&gt;(&amp;quot;.NET CLR&amp;quot;)&amp;gt;-1))&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;{&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //alert (&amp;quot;CLR &lt;span class="GramE"&gt;available &amp;quot;&lt;/span&gt; +&lt;span class="SpellE"&gt;navigator.userAgent&lt;/span&gt;);&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;}&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp; &lt;span class="GramE"&gt;else&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span class="GramE"&gt;alert(&lt;/span&gt;&amp;quot;.NET SDK/Runtime is not available for us from within &amp;quot; +&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;your web browser or your web browser is not supported.&amp;quot; +&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot; Please check with http://msdn.microsoft.com/net/ for &amp;quot; +&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;appropriate .NET runtime for your machine.&amp;quot;);&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;lt;/script&amp;gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span class="GramE"&gt;Will help with that.&lt;/span&gt;&lt;/p&gt;&amp;nbsp;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="FONT-SIZE:12pt;"&gt;References:&lt;/span&gt;&lt;/b&gt; 
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;ActiveX Documents Definitions:&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a href="http://www.aivosto.com/visdev/vdmbvis58.html"&gt;http://www.aivosto.com/visdev/vdmbvis58.html&lt;/a&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;Hosting .NET Controls in IE&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a href="http://www.15seconds.com/issue/030610.htm"&gt;http://www.15seconds.com/issue/030610.htm&lt;/a&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.artinsoft.net/aggbug.aspx?PostID=1715" width="1" height="1"&gt;</description><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/VIsual+Basic+.NET/default.aspx">VIsual Basic .NET</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/.NET+General+Tip/default.aspx">.NET General Tip</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/VB6+Migration/default.aspx">VB6 Migration</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/C_2300_/default.aspx">C#</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/Visual+Studio/default.aspx">Visual Studio</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/vb6migration/default.aspx">vb6migration</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/ActiveX/default.aspx">ActiveX</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/migration/default.aspx">migration</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/Vb/default.aspx">Vb</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/upgrade/default.aspx">upgrade</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/Vb6/default.aspx">Vb6</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/.NET/default.aspx">.NET</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/Document/default.aspx">Document</category><category domain="http://blogs.artinsoft.net/mrojas/archive/tags/ActiveXDocuments/default.aspx">ActiveXDocuments</category></item></channel></rss>