Advisory: VBScript Deprecation and Impact on Classic ASP in Sage CRM

Microsoft has announced the deprecation of VBScript and outlined a phased plan for its removal from Windows environments. This change has potential implications for customers and partners who maintain legacy Classic ASP pages within Sage CRM that rely on VBScript.

This advisory explains what is changing, what is affected, and how to plan.

What is changing?

Microsoft is retiring VBScript in a phased approach:

  • Phase 1 (Current - 2026/2027): VBScript is now deprecated. VBScript remains enabled by default, transitioning to a Feature on Demand(FOD).
  • Phase 2 (approx. 2026/2027):  VBScript FODs will be disabled by default.
  • Phase 3 (TBD): Complete removal of VBScript from future Windows OS releases, and calls to .vbs scripts from VBA will fail.

At that point, any application depending on VBScript will no longer function unless changes are made.

Why this matters for Sage CRM

Sage CRM itself primarily uses server-side JavaScript (JScript), but some older customisations and integrations may still rely on VBScript within Classic ASP pages.

Classic ASP supports multiple scripting languages through the Active Scripting engine, including:

  • VBScript
  • JScript

If VBScript is removed from the operating system, ASP pages written in VBScript will fail to execute.

How Sage CRM ASP pages define scripting language

In Sage CRM, ASP pages typically include a core library file that defines the scripting language.

The include file determines which language is used:

  • SAGECRM.JS
    Sets the default language to JavaScript (JScript)
  • SAGECRM.VBS
    Sets the default language to VBScript
  • SAGECRMNOLANG.JS
    Does not explicitly define a language

Legacy include files may also be present for backward compatibility:

  • eWare.JS
  • ACCPACCRM.JS / ACCPACCRMNOLANG.JS
  • ACCPACCRM.VBS

If an ASP page references SAGECRM.VBS or another VBScript-based include, it is dependent on VBScript being available in the operating system.

What is at risk?

The following scenarios are impacted:

  • Custom ASP pages written in VBScript
  • Legacy integrations using VBScript
  • Older Sage CRM customisations that have not been modernised

When VBScript becomes optional or is removed:

  • Pages may fail with HTTP 500 errors
  • Script execution will not occur
  • Business processes relying on these pages may break

What is not impacted?

  • Standard Sage CRM functionality
  • Server-side scripting using JScript
  • Table-level, entity-level, and field-level scripts (which use JScript)

Recommended actions

1. Identify VBScript usage

Review your system for:

  • ASP pages referencing:
    • SAGECRM.VBS
    • ACCPACCRM.VBS
  • <script language="VBScript" runat="server"> blocks

This will help determine exposure.

2. Plan migration to JScript

Where possible:

  • Replace VBScript with JScript
  • Update include files to use:
    • SAGECRM.JS

JScript remains supported and is aligned with Sage CRM’s core scripting model.

3. Consider modernisation using the .NET API

For more complex or business-critical functionality:

  • Rebuild legacy ASP pages using the Sage CRM .NET API
  • Move logic out of Classic ASP into supported extension points

This provides:

  • Better long-term supportability
  • Improved security
  • Alignment with Sage CRM’s future direction

4. Avoid reliance on VBScript Feature on Demand

While VBScript may temporarily be available as a Feature on Demand:

  • This is not a long-term solution
  • It introduces deployment and support complexity
  • It may not be available in future Windows versions

Migration is strongly recommended.

Microsoft’s deprecation of VBScript introduces a clear future risk for any Classic ASP pages that depend on it.

  • No immediate impact today
  • Increasing risk as VBScript becomes optional
  • Eventual breaking change when VBScript is removed

Customers and partners should begin identifying and modernising VBScript-based customisations now to ensure continued compatibility and support.