230 likes | 353 Views
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
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!