News

Microsoft Axing VBScript in Favor of JavaScript/PowerShell: Here's the Timeline

Microsoft is deprecating VBScript in favor of "more advanced" alternatives like JavaScript and PowerShell.

The company today (May 30) detailed how the phase-out will occur in three stages, the final of which will see it completely eliminated from future versions of Windows sometime after 2027, it seems.

VBScript Deprecation Timeline
[Click on image for larger view.] VBScript Deprecation Timeline (source: Microsoft).

First introduced in 1996, VBScript is a lightweight scripting language that has been available as a system component in Windows, widely used for automating tasks and controlling applications.

It's also often embedded within HTML pages to add dynamic interactivity and functionality to web projects, commonly used in conjunction with Microsoft technologies like Active Server Pages (ASP) and Windows Script Host (WSH).

"Technology has advanced over the years, giving rise to more powerful and versatile scripting languages such as JavaScript and PowerShell," the company's developer support blog post said. "These languages offer broader capabilities and are better suited for modern web development and automation tasks."

The three-phase deprecation details include:

  • Phase 1: In the first phase, VBScript features on demand (FOD) will be pre-installed in all Windows 11, version 24H2 and on by default to help ensure dev experiences are not disrupted in projects that have a dependency on VBScript while devs migrate their dependencies (applications, processes, and the like) away from the language. Devs can see the VBScript FODs enabled by default at Start > Settings > System > Optional features.
  • Phase 2: Around 2027, the VBScript FODs will no longer be enabled by default so devs that still rely on VBScript by then will need to enable the FODs to prevent applications and processes from having problems, following these steps:
    1. Go to Start > Settings > System > Optional features.
    2. Select View features next to "Add an Optional feature" option at the top.
    3. Type "VBSCRIPT" in the search dialog and select the check box next to the result.
    4. To enable the disabled feature, press Next.
  • Phase 3: VBScript will be retired and eliminated from future versions of Windows, meaning that all the dynamic link libraries (.dll files) of VBScript will be removed, causing projects that rely on VBScript to stop functioning. "By then, we expect that you'll have switched to suggested alternatives," Microsoft said.

For those who have apps or sites with dependencies on VBScript, Microsoft recommends migrating to PowerShell or JavaScript, offering this verbatim advice:

  • Migrate to PowerShell: We recommend migrating to PowerShell if you:

    • Have websites or applications dependent on VBScript for automating tasks.
    • Use VBScript custom actions as a feature in installer packages. During setup process, these custom actions can use the installation session and perform complex tasks. These custom actions may stop working after deprecation.

    In these cases, we recommend you migrate to PowerShell. Learn how to do that at Converting VBScript to Windows PowerShell.

  • Migrate to JavaScript: As VBScript functionality is currently limited to browsers predating Internet Explorer 11, we recommend migrating your webpages to JavaScript before phase 2. JavaScript offers cross-browser compatibility, working seamlessly across modern browsers such as Microsoft Edge, Mozilla Firefox, Google Chrome, and Apple Safari. Notably, these browsers have never implemented support for VBScript.

    If your webpage functions properly across these modern browsers, then VBScript isn't involved, and its deprecation won't affect you.

The deprecation "timeline and next steps" site published on May 22 has so far generated an unusually high number of comments, numbering 36 at the time of this writing. Most were questioning in nature, with even some positivity shown: "It's good to see old technology go as new options are being introduced. I also would like to suggest Python as an alternative to vbscript/powershell."

There was also the usual developer rancor that arises whenever Microsoft kills a project, with comments including thoughts like: "And most important, whither IIS? Our site is 100 percent vbscript not JavaScript and has stayed that way because of the vast number of folks that use stuff like noscript and many other ways to disable JavaScript. Server-side vbscript should not be destroyed in this whole process."

Today's blog post announcement thus far sports only one comment, which starts out with: "The new top management team at MS seems to hate VB/VBscript like no one else! Not sure why MS is shying away from VB and hates it so much that they now slowly started thinking of up-rooting it from the WINDOWS platform permanently."

Microsoft has been sunsetting the venerable Visual Basic programming language for a while now, announcing in 2020 that it would not evolve the language.

Updated VB guidance last year saw the company saying: ""We will ensure Visual Basic remains a straightforward and approachable language with a stable design," though "We do not plan to extend Visual Basic to new workloads."

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • Compare New GitHub Copilot Free Plan for Visual Studio/VS Code to Paid Plans

    The free plan restricts the number of completions, chat requests and access to AI models, being suitable for occasional users and small projects.

  • Diving Deep into .NET MAUI

    Ever since someone figured out that fiddling bits results in source code, developers have sought one codebase for all types of apps on all platforms, with Microsoft's latest attempt to further that effort being .NET MAUI.

  • Copilot AI Boosts Abound in New VS Code v1.96

    Microsoft improved on its new "Copilot Edit" functionality in the latest release of Visual Studio Code, v1.96, its open-source based code editor that has become the most popular in the world according to many surveys.

  • AdaBoost Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the AdaBoost.R2 algorithm for regression problems (where the goal is to predict a single numeric value). The implementation follows the original source research paper closely, so you can use it as a guide for customization for specific scenarios.

  • Versioning and Documenting ASP.NET Core Services

    Building an API with ASP.NET Core is only half the job. If your API is going to live more than one release cycle, you're going to need to version it. If you have other people building clients for it, you're going to need to document it.

Subscribe on YouTube