230 likes | 370 Views
Discover the essential strategies and tools for migrating your Visual Basic 6 applications to VB.NET. This session covers the reasons for migrating, the migration decision framework, and various strategies you can employ. Learn about the migration tools available, including demos on how to effectively use COM interoperability in your VB.NET applications. We will address potential issues during the migration process and provide insights on achieving a successful transition while focusing on object-oriented design and leveraging modern development features for improved application performance.
E N D
Migrating VB 6 Applications to VB .Net Nilotpal Bhattacharya Partner Technical Consultant| Microsoft
Agenda • Why VB .NET? • Migration Decision Framework • Migration Strategies • Migration Tools • Demos
Why VB .NET? • Move towards Object Orientation • Many great language features • Better and powerful IDE • Awesome XML support • Disconnected data architecture • Web programming support • Easy deployment • Plenty of resources and full support
Migrate Rewrite Custom Application TYpe Replace/ Partner Reuse Standard Low High Application Quality Migration Decision Framework
Migration Strategies Horizontal Com Interop Component vs. Horizontal vs. Vertical Migration Vertical Form Interop Component
Potential issues with RCW • Object Runtime • Components that assume deterministic finalization may “leak” resources • Destrcutors or Class_Terminate events will not execute untill the object is being collected Marshalling Types Custom marshalling/serlializationof complex types may be required Try to expose simple types (string, integers, dates when possible
DEMO Runtime Callable Wrapper
Restrictions with CCW • Classes must have a default constructor (One that takes no parameter) • Classes cannot expose shared methods • Classes cannot expose overloaded methods • Note: If you expose overloaded methods, then you’ll get non descriptive names in the CCW (e.g Hello and Hello_2
DEMO Using .Net from COM
Interop Forms Toolkit 2.0 • Reduce risks by moving one form at a time instead of entire modules or tiers • Extend existing VB Forms with VB .Net Controls • Provides guidance, tools and code to make phased upgrade easier • Not a code converter VB 6 Application Com Interop VB6 Form(s) VB .NET Form(s)
Features in v2.0 • InteropUserControls • Net Controls that look and feel like ActiveX controls • Extend VB6 apps within the same form • Can be placed in MDI • Easy Deployment • Redistributable • RegFree COM Support • More Documentation
DEMO Interop ToolKit v2.0
MigrationTools • Code Advisor • Add-in for VB6 • Review code against pre-determined standards • Identify migration issues • Upgrade Assessment tool • File Dependency and Call graphs • Estimates of cost and effort to migrate • Other potential migration issues
MigrationMigration Wizard • EXE & DLL • Copies project • Creates reports • Links to Help • Four Levels • Issue No Automatic Upgrade • ToDo Requires Finishing • Warning Possible Behavior Change • Note Informational
DEMO Tools
Some Pointers for migration • Install Visual Basic 6.0 on the computer that you will be using for upgrading. • Windows Forms is largely compatible barring few differences like • Non compatible Clipboard statements • No support for the Name property for forms and controls at run time • Setting 0 in Timer control to disable the Timer. • Get an estimate by running Upgrade Wizard
FAQ – VB Support policyHow much longer are you supporting VB6? • Mainstream support ended March 31, 2005 • 7 years of free support is far longer than competitors • Extended support is available through March 31, 2008. Custom support through 2012 • The VB6 Runtime is slated to ship as a part of Windows Vista
“Upgrading VB6 to VB.NET” MS Press – FREE ! http://msdn.microsoft.com/en-us/vbrun/ms788236.aspx Designing an Application Migration Strategy… http://msdn.microsoft.com/en-us/library/aa288720.aspx Upgrade Assessment tool and Upgrade guide http://msdn.microsoft.com/en-us/library/aa480541.aspx Preparing your Visual Basic 6 Applications for Upgrade http://msdn.microsoft.com/en-us/library/aa260644.aspx Code Advisor http://www.microsoft.com/downloads/details.aspx?familyid=a656371a-b5c0-4d40-b015-0caa02634fae&displaylang=en Resources
Feedback / QnA • Your Feedback is Important! Please take a few moments to fill out our online feedback form • Use the Question Manager on LiveMeeting to ask your questions now!