InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

On the "It Just Works" Policy for VB 6 and Windows Vista/Server 2008

Posted by Jonathan Allen on Apr 29, 2008

Sections
Development,
Architecture & Design
Topics
.NET ,
Future Proofing
Tags
Windows Vista ,
VB 6 ,
Windows Server 2008

Though released nearly a decade ago, Visual Basic 6 still remains a cornerstone for the IT department of many companies. With so many line of business applications, many no longer with source code, in use, upgrade paths to Windows Vista and Server 2008 needs to be considered carefully.

The make the upgrade somewhat easier, Microsoft has committed to an "It Just Works" policy for VB 6 applications. Under this promise, most VB 6 applications should run as-is on the newer operating systems. Any updated DLLs needed will be either pre-installed on the OS or distributed by the developer. The distribution mode for a particular DLL will be the same as it was with older operating systems. For a complete list, consult the chart on MSDN.

The Visual Basic 6 IDE will continue to be supported on 32-bit versions of Windows as "Custom Support". Elise Peterson writes,

Extended support for the VB6 IDE was available to anyone who purchased the IDE. Custom support is a program available to our Premier Support customers who need ongoing support for legacy products such as Windows NT 4 and the VB6 IDE. The VB6 runtime remains in full, mainstream support since it is a part of Windows Vista and Windows Server 2008. Product applications and components will be supported as long as Windows Vista and Windows Server 2008 are supported.

We interviewed Paul Yuknewicz on some of the details.

You said the VB team took over the code base for components that VB 6 programmers often used such as comctl32.ocx and richtx32.ocx. Can you tell me how that decision was originally made?

When Windows Vista was released, the VB team was committed to what we called “it just works” support for VB6 applications on Windows Vista. Many of our customers, however, pointed out that critical components in the VB6 IDE’s controls folder (\CAB) are a core part of their running application and it was not clear if they had support when the Visual Basic 6 IDE left extended support a year later in April 2008. And if the experience for our customers’ VB6 applications running on Vista isn’t as seamless as on XP, then that’s not “it just works” support. This decision was made to clarify the outcome for these critical files and ensure we stand behind running applications.

These components had always been a part of Visual Basic 6, so there was never a question of “should we do this?” The questions we had to answer were “how do we do this, and how do we do it before April 2008?”

When you contacted the components original owners, were they protective of their code or eager for you to take it off their hands?

Neither, really. For the handful of components that were not already owned by the Visual Basic team, the original programmers from ‘96 or ‘98 had long since moved on, so no one was territorial. When we talked to these teams, we got one of two initial reactions. The first was ‘Wow, we had no idea how many of our customers depend on these components. How can we help?’ The second was ‘We actually have a more recent, improved version that’s backwards compatible with the old one. Customers should use the new one instead.’

Did you have to develop new versions in order to ensure they worked on Server 2008? (And if so, how do we get our hands on it?)

Not at all. In most cases, these components were simply lightweight wrappers that turned DLLs into ActiveX controls for easy consumption by VB6 developers. That’s not complex code, and considering that the DLLs were already supported on Windows Server 2008 and Windows Vista, the core functionality wasn’t even an issue. To put it another way, the Windows team does all the heavy lifting to keep this functionality up-to-date, and the components we’re supporting give VB6 developers easy access to it.

Do you foresee the need for a new VB6 service packs to support future operating systems?

This is a very stable code base, and six service packs have been issued in the decade since it was released, so I don’t foresee service packs to the VB6 runtime.

Would you consider this a stop-gap measurement or is Microsoft committed to keeping VB6 and VB6/VB.NET hybrid applications running post-Server 2008?

Don’t forget: Microsoft will support Windows Server 2008—and thus the VB6 runtime—for another decade. That totals two decades of support for Visual Basic 6--a very significant commitment.

No comments

Watch Thread Reply

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.