Microsoft is planning to remove support (deprecate) for VB Script in future versions of Windows. This is a big deal and will have large repercussions on application packages, installations, and deployment infrastructure.

That said, I have a few confessions:

  1. I may have been a little late to use VB Script as I first used it in 1997.
  2. I am (generally/globally) regarded as a really, really bad programmer (like, really bad).
  3. I have used/abused and grossly extended VB Script for many years and even more use cases.

And so, with some mixed feelings, I must comment on Microsoft’s removal of VB Script support from future Windows platforms (this means servers, desktop, and applications). VB Script has many benefits including a mature code base (plenty of support and examples), native support in MSI Installer and great support for logging.

I think that there may be a few good reasons for this deprecation (depredation is a word more suited to my code) including:

  1. Security: Script kiddies love it – it’s a great way to generate text that can evade malware scanners.
  2. MSI installer now supports .NET and C# custom actions.
  3. PowerShell and Python are on the ascendant for most infrastructure and application deployment tasks.
  4. Limited browser support (JavaScript is the preferred language for all browsers).

I think that it may be just time to reduce the portfolio of supported languages. Part of an effort to reduce the “attack: surface area for Windows platforms and recognizing that PowerShell is now safer, faster and a more capable scripting language. Microsoft will allow for the download of the VB Script engine, so things won’t start breaking tomorrow.

There will be a lot of work to do in finding out which applications contain VB Script code and remediating the results. Good thing we (Readiness) have already generated an automated packaging standards check to assess and automatically fix each scanned application. Phew!

A few questions:

  1. Will Microsoft also remove support for the cscript/wscript VB Script engine?
  2. How will Microsoft launch PowerShell scripts, as it currently (sometimes) uses VB Script to launch PS scripts?
  3. Is there a role for Python? Particularly in Microsoft Office?

And finally:

Greg Lambert