<?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>Goto 100  - Development with Visual Basic : Migration</title><link>http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx</link><description>Tags: Migration</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>VB6 Migration tools are not as expensive as you might think</title><link>http://blogs.msdn.com/goto100/archive/2009/06/05/vb6-migration-tools-are-not-as-expensive-as-you-might-think.aspx</link><pubDate>Fri, 05 Jun 2009 19:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9701534</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9701534.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9701534</wfw:commentRss><description>&lt;P&gt;How long would it take you to manually convert 50,000 line of Visual Basic 6.0 code to Visual Basic .NET. My guess is… quite a long time :-) &lt;BR&gt;However two of the key partners in this space have special versions of their enterprise class tools targeting 50,000 and below for a great price.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Code Architects &lt;A href="http://www.vbmigration.com/editions.aspx" mce_href="http://www.vbmigration.com/editions.aspx"&gt;VB Migration Partner Professional&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Artinsofts &lt;A href="https://www.artinsoft.com/checkout/buy-vbucde.aspx?vbtonet" mce_href="https://www.artinsoft.com/checkout/buy-vbucde.aspx?vbtonet"&gt;Visual Basic Upgrade Companion Developer Edition&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Interestingly Artinsoft now have a sliding scale of prices public on their website. Well done guys.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;25K Lines $249.00&lt;/LI&gt;
&lt;LI&gt;50K Lines $499.00&lt;/LI&gt;
&lt;LI&gt;75K Lines $749.00&lt;/LI&gt;
&lt;LI&gt;100K Lines $999.00&lt;/LI&gt;
&lt;LI&gt;150K Lines $1,499.00&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9701534" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category></item><item><title>Aberdeen Group report on Migrating from VB6 to .NET</title><link>http://blogs.msdn.com/goto100/archive/2009/06/05/aberdeen-group-report-on-migrating-from-vb6-to-net.aspx</link><pubDate>Fri, 05 Jun 2009 18:50:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9701501</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9701501.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9701501</wfw:commentRss><description>&lt;p&gt;Aberdeen Group have created a new report “&lt;a href="http://www.aberdeen.com/launch/report/perspective/6084-AI-visual-basic-software.asp"&gt;Migrating from VB6 to .NET: The challenge of software agility in a volatile economy&lt;/a&gt;”&lt;/p&gt;  &lt;p&gt;Some bits that stood out for me:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;50% will migrate all the applications, 36% will migrate some (86% in total will migrate)&lt;/li&gt;    &lt;li&gt;“Best in class” understand the importance of external migration services and tools - 30%+ in each category&lt;/li&gt;    &lt;li&gt;14% of organisations said their &lt;strong&gt;entire environment&lt;/strong&gt; is VB6 based.&lt;/li&gt;    &lt;li&gt;For those who will NOT migrate to VB.NET:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;62% will migrate to C#&lt;/li&gt;      &lt;li&gt;10% Other .NET languages&lt;/li&gt;      &lt;li&gt;16% Java (tut tut)&lt;/li&gt;      &lt;li&gt;12% Other none .NET&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9701501" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Visual Basic 6.0 Migration – due diligence is a good thing</title><link>http://blogs.msdn.com/goto100/archive/2009/06/05/visual-basic-6-0-migration-due-diligence-is-a-good-thing.aspx</link><pubDate>Fri, 05 Jun 2009 18:35:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9701484</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9701484.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9701484</wfw:commentRss><description>&lt;p&gt;Choice in general is a good thing. When faced with moving a Visual Basic 6.0 application to .NET there is plenty of choices to be made. One of those choices is “Which tool should I go with to migrate the code?”. &lt;/p&gt;  &lt;p&gt;My advice in general is “Try as many as you can on a representative chunk of your application”.&lt;/p&gt;  &lt;p&gt;I spotted over on the VB Migration Partner website &lt;a href="http://www.vbmigration.com/casestudies/sis.aspx"&gt;a case study&lt;/a&gt; which contained an example of just that:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“During the software evaluation phase SIS run a 25K prototype through all the conversion programs. &lt;b&gt;It took 2.5 hours to get a compilable and runnable VB.NET project with VB Migration Partner, and 13 hours with its closest competitor.&lt;/b&gt; The reduced effort, the ability to use pragmas and support for the convert-test-fix were the main reasons for choosing Code Architects’ software.”&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;This was a 650K Lines of Code conversion in just 6 months with a total effort of 18 man-months. Pretty impressive. &lt;/p&gt;  &lt;p&gt;P.S. 13/2.5 = 5 times faster, in case you were wondering :-)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9701484" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>About to start a weeks holiday – final post, try a VB6 migration tool for free</title><link>http://blogs.msdn.com/goto100/archive/2009/04/09/about-to-start-a-weeks-holiday-final-post-try-a-vb6-migration-tool-for-free.aspx</link><pubDate>Thu, 09 Apr 2009 18:27:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9540437</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9540437.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9540437</wfw:commentRss><description>&lt;p&gt;Just about to start a weeks holiday but wanted to get this one last link out there. Artinsoft have released a &lt;a href="http://www.artinsoft.com/trials/vbucde-trial.aspx"&gt;trial version&lt;/a&gt; of their Visual Basic Upgrade Companion Developer Edition. &lt;/p&gt;  &lt;p&gt;The trial version will allow you to convert up to 2,000 lines of code at a time and is valid for a period of 1 month. &lt;/p&gt;  &lt;p&gt;See you all after Easter.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9540437" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category></item><item><title>UK Visual Basic 6.0 Migration Case Studies – 800K LOC moved to C#</title><link>http://blogs.msdn.com/goto100/archive/2009/04/09/uk-visual-basic-6-0-migration-case-studies-800k-loc-moved-to-c.aspx</link><pubDate>Thu, 09 Apr 2009 17:28:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9540320</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9540320.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9540320</wfw:commentRss><description>&lt;p&gt;I have worked on and off with UK company Vertex for 13 years and like many large companies, some of their applications contain code that I first saw 13 years back – Visual Basic 6.0 code. Recently they managed to ensure compliance and business continuity by upgrading not one, but two of their mission-critical applications from Visual Basic 6.0&amp;#160; to .NET using a customized version of the Artinsoft Visual Basic Upgrade Companion (VBUC).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;The stories behind both projects can be found at:&lt;/b&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.artinsoft.com/vertex-omiga-vb-to-net-migration-case-study.aspx?SMI=APR09"&gt;http://www.artinsoft.com/vertex-omiga-vb-to-net-migration-case-study.aspx?SMI=APR09&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.artinsoft.com/vertex-supervisor-vb-to-net-migration-case-study.aspx?SMI=APR09"&gt;http://www.artinsoft.com/vertex-supervisor-vb-to-net-migration-case-study.aspx?SMI=APR09&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You might also want to check out this &lt;a href="http://msdn.microsoft.com/en-gb/dd408373.aspx"&gt;central resource&lt;/a&gt; we pulled together.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9540320" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/UK/default.aspx">UK</category></item><item><title>Visual Basic Upgrade Wizard vs 3rd Party Migration Tools</title><link>http://blogs.msdn.com/goto100/archive/2009/02/05/visual-basic-upgrade-wizard-vs-3rd-party-migration-tools.aspx</link><pubDate>Thu, 05 Feb 2009 18:45:56 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9398858</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9398858.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9398858</wfw:commentRss><description>&lt;p&gt;[If you are UK based, check out &lt;a href="http://www.microsoft.com/uk/vbmigration"&gt;www.microsoft.com/uk/vbmigration&lt;/a&gt; for more information ]&lt;/p&gt;  &lt;p&gt;A question I get asked a lot is “Are 3rd party migration tools really that much better than the free upgrade wizard from Microsoft?” &lt;/p&gt;  &lt;p&gt;Lets me be perfectly candid. Whilst I always recommend people should try the free wizard first, it has many shortcomings. Too many IMHO. That said, for some folks it will be perfectly “good enough” to enable a successful migration from VB6 to Visual Basic .NET. However for large, complex VB6 applications you would likely be much better served by a 3rd party tool.&lt;/p&gt;  &lt;p&gt;The two main companies in this space have each created a comparison with the Upgrade Wizard which I would definitely recommend you check out.&lt;/p&gt;  &lt;h2&gt;Code Architects VB Migration Partner&lt;/h2&gt;  &lt;p&gt;Code Architects have a &lt;a href="http://www.vbmigration.com/whitepapers/comparisonwithupgradewizard.aspx"&gt;paper which includes a detailed analysis&lt;/a&gt; of the output of their VB Migration Partner compared with the Upgrade Wizard on a number of Open SourceVB6 projects and a look at how well each tool handles compatibility issues as identified by &lt;strong&gt;&lt;a href="http://www.aivosto.com/project/project.html"&gt;VB Project Analyzer&lt;/a&gt;&lt;/strong&gt; from Aivosto. VB Migration Partner was:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;About four times faster &lt;/li&gt;    &lt;li&gt;Produced fives times fewer compilation errors in the final .NET code &lt;/li&gt;    &lt;li&gt;Able to fully or partially handle 43 of the 49 compatibility issues that are left unresolved by the Upgrade Wizard &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/goto100/WindowsLiveWriter/VisualBasicUpgradeWizardvs3rdPartyMigrat_DD98/image_4.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="480" alt="image" src="http://blogs.msdn.com/blogfiles/goto100/WindowsLiveWriter/VisualBasicUpgradeWizardvs3rdPartyMigrat_DD98/image_thumb_1.png" width="573" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;h2&gt;Artinsoft Visual Basic Upgrade Companion&lt;/h2&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;Artinsoft have created a &lt;a href="http://www.artinsoft.com/visual-basic-upgrade-companion-vs-upgrade-wizard.aspx"&gt;detailed whitepaper&lt;/a&gt; looking at the &lt;strong&gt;many differences&lt;/strong&gt; between the Wizard and their Visual Basic Upgrade Companion. They are sometimes very big differences – such as how the tool handles 3rd party controls. The paper also includes &lt;strong&gt;lots&lt;/strong&gt; of great code snippets which allow you to directly compare the two tools.&lt;/p&gt;  &lt;p&gt;e.g. Error Handling&lt;/p&gt;  &lt;p&gt;Original VB6 Source Code:&lt;/p&gt;  &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; ErrorHandling(arg1 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;) 
&lt;span class="kwrd"&gt;On&lt;/span&gt; &lt;span class="kwrd"&gt;Error&lt;/span&gt; &lt;span class="kwrd"&gt;GoTo&lt;/span&gt; ErrorHandler 
    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; var1 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; 
    var1 = 1 / arg1 
    MsgBox var1 
    MsgBox arg1 
    &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; 
ErrorHandler: 
    MsgBox Err.Description, , &lt;span class="str"&gt;&amp;quot;Error&amp;quot;&lt;/span&gt; 
&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; &lt;/pre&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;The Upgrade Wizard:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; ErrorHandling(&lt;span class="kwrd"&gt;ByRef&lt;/span&gt; arg1 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Short&lt;/span&gt;) 
&lt;span class="kwrd"&gt;On&lt;/span&gt; &lt;span class="kwrd"&gt;Error&lt;/span&gt; &lt;span class="kwrd"&gt;GoTo&lt;/span&gt; ErrorHandler 
  &lt;span class="kwrd"&gt;Dim&lt;/span&gt; var1 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Short&lt;/span&gt; 
  var1 = 1 / arg1 
  MsgBox(var1) 
  MsgBox(arg1) 
  &lt;span class="kwrd"&gt;Exit&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; 
ErrorHandler:  
  MsgBox(Err.Description,  , &lt;span class="str"&gt;&amp;quot;Error&amp;quot;&lt;/span&gt;) 
&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; &lt;/pre&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;
  &lt;br /&gt;But the Visual Basic Upgrade Companion uses Try/Catch:&lt;/p&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; ErrorHandling(&lt;span class="kwrd"&gt;ByRef&lt;/span&gt; arg1 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;) 
&lt;span class="kwrd"&gt;Try&lt;/span&gt;  
  &lt;span class="kwrd"&gt;Dim&lt;/span&gt; var1 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; 
  var1 = 1 / arg1 
  MessageBox.Show(&lt;span class="kwrd"&gt;CStr&lt;/span&gt;(var1), Application.ProductName) 
  MessageBox.Show(&lt;span class="kwrd"&gt;CStr&lt;/span&gt;(arg1), Application.ProductName)  
  15 
&lt;span class="kwrd"&gt;Catch&lt;/span&gt; excep &lt;span class="kwrd"&gt;As&lt;/span&gt; System.Exception       
  MessageBox.Show(excep.Message, &lt;span class="str"&gt;&amp;quot;Error&amp;quot;&lt;/span&gt;) 
&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Try&lt;/span&gt; 
&lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;Sub&lt;/span&gt; &lt;/pre&gt;
&lt;style type="text/css"&gt;

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;

&lt;p&gt;Do check out the paper, especially the many code samples.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9398858" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/UK/default.aspx">UK</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Secure your Visual Basic 6.0 investment with Microsoft .NET</title><link>http://blogs.msdn.com/goto100/archive/2009/01/28/secure-your-visual-basic-6-0-investment-with-microsoft-net.aspx</link><pubDate>Wed, 28 Jan 2009 23:36:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9381745</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9381745.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9381745</wfw:commentRss><description>&lt;p&gt;[This is currently a UK only initiative but you will still find a lot of useful information on the new site and I know our partners are happy to engage worldwide]&lt;/p&gt;  &lt;p&gt;Over the last couple of months I have been working with Sarah in my group to pull together something which hopefully will help the many companies in the UK who continue to have a significant investment in Visual Basic 6.0&amp;#160; - and we did it with virtually no budget thanks to some great help and encouragement from &lt;a href="http://www.artinsoft.com/"&gt;Artinsoft&lt;/a&gt;, &lt;a href="http://www.vbmigration.com/"&gt;Code Architects&lt;/a&gt; and Avanade. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-gb/dd408373.aspx"&gt;Check out what we created&lt;/a&gt; if you are based in the United Kingdom and still have Visual Basic 6.0 applications running your company. Some of the highlights:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;A great prize draw to win a free copy of a migration tool from Artinsoft or Code Architects (We have several to give away) &lt;/li&gt;    &lt;li&gt;Great offers from our partners. How about a entry level great migration tool for just £199 or 25% off a full blown enterprise class tool &lt;/li&gt;    &lt;li&gt;An attempt to summarise the five options you can take along with a 10 minute screencast by myself explaining the five options (and you can tell I had a cold when I recorded it!) &lt;/li&gt;    &lt;li&gt;Links to the best resources to find out more &lt;/li&gt;    &lt;li&gt;And a a brand new detailed article on the Interop Forms Toolkit which enables .NET forms and controls to be easily mixed with Visual Basic 6.0 forms and controls. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;P.S. The web page does have one or two “bugs” – but we will get them fixed on the next refresh.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9381745" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/UK/default.aspx">UK</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>VS2008 Upgrade Wizard vs VS2005 Upgrade Wizard vs Code Advisor</title><link>http://blogs.msdn.com/goto100/archive/2009/01/23/vs2008-upgrade-wizard-vs-vs2005-upgrade-wizard-vs-code-advisor.aspx</link><pubDate>Fri, 23 Jan 2009 18:08:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9372710</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9372710.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9372710</wfw:commentRss><description>&lt;p&gt;I thought I’d try running the latest version of the upgrade wizard and compare the results with those shown in the &lt;a href="http://msdn.microsoft.com/en-gb/library/aa480541.aspx"&gt;”Upgrading Visual Basic 6.0 Applications to Visual Basic .NET and Visual Basic 2005”&lt;/a&gt; guide. Just for good measure I ran the VB6 Code Advisor on the source code before running the upgrade. The code I tried it out on was the FMStocks_DB.vbp from the FMStocks 2000 sample application.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/blogfiles/goto100/WindowsLiveWriter/VS2008UpgradeWizardvsVS2005UpgradeWizard_D507/image_2.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="210" alt="image" src="http://blogs.msdn.com/blogfiles/goto100/WindowsLiveWriter/VS2008UpgradeWizardvsVS2005UpgradeWizard_D507/image_thumb.png" width="629" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The Upgrade Wizard seems to do a more thorough job than the Code Advisor identifying more issues, and the report layout is much clearer in the 2008 version. But, if you look carefully at the results obtained from the Code Advisor you will see that it identifies some different issues, so it’s still worth running.&lt;/p&gt;  &lt;p&gt;I also noticed that the project created by the Visual Studio 2008 Upgrade Wizard still targets the .NET 2.0 Framework.&lt;/p&gt;  &lt;p&gt;P.S. Remember both &lt;a href="http://www.artinsoft.com/"&gt;Artinsoft&lt;/a&gt; and &lt;a href="http://www.vbmigration.com/"&gt;Code Architects&lt;/a&gt; have tools which will do a better job than the Upgrade Wizard – however the wizard is a great starting point as you get it for free!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9372710" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Estimating effort to migrate your application from Visual Basic 6.0 to .NET</title><link>http://blogs.msdn.com/goto100/archive/2009/01/23/estimating-effort-to-migrate-your-application-from-visual-basic-6-0-to-net.aspx</link><pubDate>Fri, 23 Jan 2009 16:33:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9372616</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9372616.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9372616</wfw:commentRss><description>&lt;h4&gt;&lt;/h4&gt;  &lt;p&gt;The following three tools can help you better understand what would be involved to migrate your VB6 applications to Microsoft.NET&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-gb/vbrun/ms789135.aspx"&gt;Microsoft's VB6 Code Advisor Tool&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This tool from &lt;a href="http://msdn.microsoft.com/en-gb/vbrun/default.aspx"&gt;Visual Basic Resource Center&lt;/a&gt; site, installs as an Add-In in the VB6 IDE.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/goto100/WindowsLiveWriter/Estimatingefforttomigrateyourapplica.NET_BEA6/clip_image002_2.jpg"&gt;&lt;img title="clip_image002" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="170" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/goto100/WindowsLiveWriter/Estimatingefforttomigrateyourapplica.NET_BEA6/clip_image002_thumb.jpg" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The tool analyses your code for potential upgrade issues, generates a report and puts detailed comments in your code. It does assume that you are upgrading using Visual Studio 2005 rather than Visual Studio 2008, but it includes a facility to let you add in your own custom rules. You need to dig around in the folder the add-in installs to and locate FixItRuleTool.exe and FixItRuleTool.rtf to add your own rules. The tool’s ReadMe.txt also warns that help file is out of date, so the tool &lt;b&gt;is&lt;/b&gt; aware that the upgrade wizard supports WebClasses, the Clipboard object and COM+.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.artinsoft.com:80/visual-basic-upgrade-assessment-tool.aspx"&gt;ArtinSoft’s Visual Basic 6.0 Upgrade Assessment Tool&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This tool analyzes the application components and the relationships between them from a migration perspective, which considers elements, constructs, and features that consume significant resources during an upgrade project. It generates a group of reports that are used as a basis for further calculations related to task effort and cost. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;This first one is called &lt;strong&gt;MainReport.xls&lt;/strong&gt; and contains all the configuration settings and summaries of the effort estimates. &lt;/li&gt;    &lt;li&gt;The second report, called &lt;strong&gt;DetailedReport.xls&lt;/strong&gt;, is linked to the previous one, and it shows detailed information about the content of the application.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://www.vbmigration.com:80/Resources/VB6Analyzer.aspx"&gt;Code Architects VB6 Bulk Analyzer&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This is a command-line utility that gathers information on the VB6 projects and source files inside a specified directory tree and then creates a concise but quite thorough report.&lt;/p&gt;  &lt;p&gt;The command VB6ANALYZER c:\firstapp c:\secondapp&amp;#160; /out:c:\report.txt will generate a named &lt;strong&gt;VBAnalyser_Report.txt&lt;/strong&gt;, in the current directory. The report contains:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;number of projects and source files, grouped by type &lt;/li&gt;    &lt;li&gt;statistics about the source code (code lines, empty and remark lines, etc.), number of methods, properties, etc. &lt;/li&gt;    &lt;li&gt;statistics about ActiveX classes (grouped by their Instancing property, number of MTS classes, etc.) &lt;/li&gt;    &lt;li&gt;all the type libraries used in all projects, with how many times the typelib is referenced &lt;/li&gt;    &lt;li&gt;names of all used controls and components, with a count beside each control &lt;/li&gt;    &lt;li&gt;list of all the Declare definition, with number of occurrences of each declare &lt;/li&gt;    &lt;li&gt;list of problematic keywords (GoSub, On...Goto/Gosub, VarPtr, ObjPtr, StrPtr, etc.), with number of times the keyword is used &lt;/li&gt;    &lt;li&gt;list of problematic data types (Variant, fixed-length strings, etc., with number of times the keyword is used &lt;/li&gt;    &lt;li&gt;list of problematic control properties, methods, events (e.g. members related to classic Drag-and-drop or DDE) &lt;/li&gt;    &lt;li&gt;list of problematic constants (e.g. adOpenDynamic and adOpenKeyset means that a piece of ADO code can't be easily ported to ADO.NET) &lt;/li&gt;    &lt;li&gt;list of COM classes that are instantiated via CreateObjects &lt;/li&gt;    &lt;li&gt;list of OLEDB data providers explicitly mentioned in a connection string &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9372616" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Feedback appreciated on draft screencast on VB6 and the options to move to .NET</title><link>http://blogs.msdn.com/goto100/archive/2008/12/11/feedback-appreciated-on-draft-screencast-on-vb6-and-the-options-to-move-to-net.aspx</link><pubDate>Thu, 11 Dec 2008 20:04:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9197459</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9197459.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9197459</wfw:commentRss><description>&lt;p&gt;I am working with partners to pull together guidelines, resources and special promotions on tools to help UK companies with VB6 make the right choice around moving (or not) to .NET. This will happen early in 2009. There will be a new landing page with the information and on that page will be a link to a 10minute overview screencast. I have created this "draft". Would welcome folks comments. &lt;/p&gt; &lt;p&gt;P.S. It is a draft because it contains some glitches, some odd sound and I sound a little bored at times :-) I'm also not as succinct as I would have liked :-)&lt;/p&gt;&lt;iframe style="width: 500px; height: 375px" src="http://silverlight.services.live.com/invoke/72662/VB6%20and%20the%20.NET%20Framework/iframe.html" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9197459" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2005/default.aspx">Visual Basic 2005</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Comparing CodeArchitects VB Migration Partner with our Free Upgrade Wizard</title><link>http://blogs.msdn.com/goto100/archive/2008/11/27/comparing-codearchitects-vb-migration-partner-with-our-free-upgrade-wizard.aspx</link><pubDate>Thu, 27 Nov 2008 12:47:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9146090</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9146090.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9146090</wfw:commentRss><description>&lt;p&gt;One of the companies I am currently working with is CodeArchitects and more specifically &lt;a href="http://www.vbmigration.com/aboutus.aspx"&gt;Francesco Balena&lt;/a&gt;. Francesco has deep knowledge on all things VB which he (thankfully) decided to transfer into the form of a VB6 migration tool – &lt;a href="http://www.vbmigration.com/overview.aspx"&gt;VB Migration Partner&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I have had lots of feedback over the years on our free Upgrade Wizard – much of it bad when dealing with large projects. I am told the wizard appears to be fine for smaller projects but is “overwhelmed” when it is asked to tackle large enterprise class applications with several hundred thousand LOC. For this reason companies with large investments in VB6 have turned to companies such as &lt;a href="http://www.artinsoft.com/so_vb.aspx"&gt;Artinsoft&lt;/a&gt; and more recently &lt;a href="http://www.vbmigration.com"&gt;CodeArchitects&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;However I have never seen a detailed comparison of what improvement you might expect. Which is where this &lt;a href="http://www.vbmigration.com/Blog/post/2008/08/Comparing-VB-Migration-Partner-with-Upgrade-Wizard.aspx"&gt;great summary from Francesco&lt;/a&gt; comes in.&lt;/p&gt;  &lt;p&gt;The top level message – the CodeArchitects tool run at least &lt;strong&gt;4 times faster&lt;/strong&gt; and had &lt;strong&gt;5 times fewer compilation errors&lt;/strong&gt; – and with the use of pragmas will be fully functional once the migration tool completes unlike the free wizard which will often raise errors at runtime. Very sweet.&lt;/p&gt;  &lt;p&gt;&lt;img alt="" src="http://www.vbmigration.com/Blog/image.axd?picture=CodeSampleStats2.gif" /&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9146090" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2005/default.aspx">Visual Basic 2005</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>I nearly forgot to mention GIGO!</title><link>http://blogs.msdn.com/goto100/archive/2008/11/19/i-nearly-forgot-to-mention-gigo.aspx</link><pubDate>Wed, 19 Nov 2008 14:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9120359</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9120359.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9120359</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;A common mistake I have seen when teams use automated migration tools is the failure to consider our old friend &lt;a href="http://en.wikipedia.org/wiki/GIGO"&gt;GIGO&lt;/a&gt; – Garbage In, Garbage Out.&lt;/p&gt;  &lt;p&gt;Before you consider using any automated tool such as the Visual Basic Upgrade Wizard you should spend some time tidying up your VB6 application to minimize the amount of post upgrade work and give the tool the best chance of success.&lt;/p&gt;  &lt;p&gt;Helpful resources include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-gb/library/ywsayxak.aspx"&gt;Things to Consider Before Upgrading&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-gb/library/14w905kc.aspx"&gt;Preparing a Visual Basic 6.0 Application for Upgrading&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-gb/library/xyesssa6.aspx"&gt;Language Recommendations for Upgrading&lt;/a&gt; which has some great advice. e.g. &lt;a title="Upgrade Recommendation- Use Early Binding and Explicit Conversions" href="http://msdn.microsoft.com/en-gb/library/99shbey3.aspx"&gt;Use Early Binding and Explicit Conversions&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There appear to be a couple of minor inconsistencies in the documentation. The Printer object, the PrintForm method and the Line and Shape controls are now supported by the Visual Basic 2008 upgrade wizard.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9120359" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>Upgrading VB6 applications – a moment to reflect :-)</title><link>http://blogs.msdn.com/goto100/archive/2008/11/18/upgrading-vb6-applications-a-moment-to-reflect.aspx</link><pubDate>Wed, 19 Nov 2008 00:36:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9120299</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9120299.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9120299</wfw:commentRss><description>&lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;I’ve now spent a bit of time with the book &lt;a href="http://msdn.microsoft.com/en-gb/library/aa480541.aspx"&gt;”Upgrading Visual Basic 6.0 Applications to Visual Basic .NET and Visual Basic 2005”&lt;/a&gt;, so what are my thoughts about it? The good news is it remains a comprehensive and valuable resource for anyone planning to move their VB6 applications to .NET. However it is worth remembering that:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;It focuses on upgrading rather than interoperating (Covered as &lt;strong&gt;Reuse&lt;/strong&gt; in my earlier post on &lt;a title="Rewrite vs Migrate vs Reuse vs Replace" href="http://blogs.msdn.com/goto100/archive/2008/11/03/rewrite-vs-migrate-vs-reuse-vs-replace.aspx"&gt;Rewrite vs Migrate vs Reuse vs Replace&lt;/a&gt;). It was written prior to the development of the &lt;a href="http://msdn.microsoft.com/en-us/vbasic/bb419144.aspx"&gt;Interop Forms Toolkit&lt;/a&gt; which makes combining VB6 and .NET much easier.&amp;#160; &lt;/li&gt;    &lt;li&gt;It doesn’t cover any .NET 3.0 or .NET 3.5 topics – nor Visual Studio 2008.&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9120299" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Interop/default.aspx">Interop</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2005/default.aspx">Visual Basic 2005</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>VB6 Database code?</title><link>http://blogs.msdn.com/goto100/archive/2008/11/18/vb6-database-code.aspx</link><pubDate>Wed, 19 Nov 2008 00:25:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9120263</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9120263.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9120263</wfw:commentRss><description>&lt;p&gt;What happens when you upgrade a VB6 application that accesses a database? Or, more precisely, how does the automatic upgrade deal with DAO, RDO and ADO? &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;ADO with and without data binding&lt;/strong&gt;. This is supported by the upgrade wizard, but if you’ve got any dynamic data binding code you’ll need to fix some issues.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Upgrading DAO and RDO code that DOES NOT use any Data Binding.&lt;/strong&gt; This scenario is straightforward. The code is upgraded and still uses the old libraries. VB6 syntax like this:&lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;Dim rstExample As Recordset     &lt;br /&gt;Dim strExample As String      &lt;br /&gt;strExample = rstExample!Author&lt;/p&gt;    &lt;p&gt;is converted to this:&lt;/p&gt;    &lt;p&gt;Dim rstExample As DAO.Recordset     &lt;br /&gt;Dim strExample As String      &lt;br /&gt;strExample = rstExample.Fields(&amp;quot;Author&amp;quot;).Value&lt;/p&gt; &lt;/blockquote&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Upgrading DAO and RDO code that DOES use Data Binding.&lt;/strong&gt; The upgrade wizard doesn’t support upgrading data binding (it appears to upgrade the RDO control, but you’ll find it doesn’t actually work at runtime). So the recommendation is to manually upgrade your RDO and DAO to ADO data binding, and then run the upgrade wizard.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The ADO upgrade doesn’t upgrade to ADO.NET, it creates wrapper code that lets your VB.NET call the ADO COM libraries. One consequence of this is that the ADO data binding is not exposed at design time in Visual Studio, you have to go to the code. A similar approach is taken with Data Environments – they are upgraded, but only as code so they can no longer be edited visually.&lt;/p&gt;  &lt;p&gt;ADO.NET, datasets, LINQ and ADO.NET data binding will all count as “Application Advancements” (see my earlier post “&lt;a href="http://blogs.msdn.com/goto100/archive/2008/11/11/functional-equivalence-vs-application-advancement-and-vertical-vs-horizontal.aspx"&gt;Functional Equivalence and Application Advancement&lt;/a&gt;”).&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9120263" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item><item><title>ASP to ASP.NET</title><link>http://blogs.msdn.com/goto100/archive/2008/11/11/asp-to-asp-net.aspx</link><pubDate>Tue, 11 Nov 2008 12:41:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9059632</guid><dc:creator>Eric Nelson</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/goto100/comments/9059632.aspx</comments><wfw:commentRss>http://blogs.msdn.com/goto100/commentrss.aspx?PostID=9059632</wfw:commentRss><description>&lt;p&gt;Visual Basic migration to .NET includes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;VB6 rich client migration – which represents the majority of migration projects I have seen&lt;/li&gt;    &lt;li&gt;ASP to ASP.NET migration – aka vbscript migration&lt;/li&gt;    &lt;li&gt;Access migration – aka vba migration (although Access migration often initially involves just moving the data onto SQL Server, retaining the Access UI)&lt;/li&gt;    &lt;li&gt;Some other edge conditions – such as VB6 WebClasses&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I thought I would have a look and see what resources are currently available to help with migrating ASP to ASP.NET. A good starting point is the &lt;a href="http://msdn.microsoft.com/en-us/asp.net/aa336621.aspx"&gt;migration area on the ASP.NET Developer Center&lt;/a&gt;. There is also an &lt;a href="http://msdn.microsoft.com/en-us/asp.net/aa336624.aspx"&gt;ASP to ASP.NET Migration Assistant&lt;/a&gt;, but (unless I’ve missed something) it targets ASP.NET 1.1 and not ASP.NET 2.0, so you’d have &lt;a href="http://www.codeproject.com/KB/aspnet/ComparisonASP1xASP20.aspx"&gt;some work&lt;/a&gt; to do if you wanted to make use of the latest version of .NET. Regrettably the migration site for ASP to ASP.NET is looking a little neglected in other areas as well with a number of broken links. Perhaps this site is allowed to “decay” as “all” ASP to ASP.NET migration has already taken place as ASP.NET offered many significant benefits. Certainly I have no companies left that have pure ASP in their solution - at least that is what they told me :-) &lt;/p&gt;  &lt;p&gt;In case you were wondering, there was no ASP.NET 3.0. The .NET Framework 3.0 was focused on WPF, WCF and WF and did nothing in the area of ASP.NET. There is ASP.NET 3.5 though, shipping with .NET Framework 3.5 and targeted by Visual Studio 2008. &lt;/p&gt;  &lt;p&gt;By the way, if you did use VB6 WebClasses to build your web interface then you’ll find that the VB6 Upgrade Wizard in Visual Studio will handle the conversion to ASP.NET for you, giving you a choice of target framework.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9059632" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+6/default.aspx">Visual Basic 6</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+.NET/default.aspx">Visual Basic .NET</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Migration/default.aspx">Migration</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2008/default.aspx">Visual Basic 2008</category><category domain="http://blogs.msdn.com/goto100/archive/tags/Visual+Basic+2005/default.aspx">Visual Basic 2005</category><category domain="http://blogs.msdn.com/goto100/archive/tags/DevCenter/default.aspx">DevCenter</category></item></channel></rss>