Classic ASP modernisation
Classic ASP still runs on Windows Server as part of IIS, but the language most Classic ASP applications are written in, VBScript, is being retired from Windows in phases: deprecated now, disabled by default from around 2026 to 2027, then removed, and when it goes the pages stop. Solve With Software takes a Classic ASP application over, moves the data and the rules into the open, and rebuilds it as ASP.NET Core one page at a time behind a proxy, with the old site serving the rest until the last page has moved.
Free · 1 hour · no obligation
Where Classic ASP stands
Two different answers, and both matter. Classic ASP itself is still a supported component of IIS. Windows Server 2025 ships it, so on paper it's supported well into the 2030s.
VBScript is the other answer. Microsoft has announced its retirement from Windows in phases. In the current phase it's deprecated but installed and switched on by default. In the next, from around 2026 to 2027, it becomes an optional feature that's off by default. Then it's removed. Classic ASP uses the same VBScript engine as the rest of Windows, so a Classic ASP application written in VBScript stops working on a server where VBScript isn't installed.
The practical position in September 2026: your Classic ASP application runs today, and the clock on the language underneath it is running. A server rebuild or an operating system upgrade is when it usually bites.
What we usually find inside
Twenty years of a business in a few hundred .asp files. Include files everywhere, SQL written inline in the pages, a mix of VBScript and the occasional JScript, session variables doing the work of a data model, and a database that's usually SQL Server and usually fine.
The rules are in there. They're just spread across pages in a way that nobody has mapped, which is why the first job is to map them.
The paths
Contain it. Pin the server. Document how it's built and deployed. Make sure VBScript stays installed on the server through any update, and that a rebuild of the server is a known procedure rather than a discovery. This buys time, and for a small internal application it can be the whole answer for a while.
Migrate to ASP.NET Core, page by page. The usual path. A new application sits behind a reverse proxy alongside the old site and takes over pages in order of value. The inline SQL becomes a proper data layer; the VBScript rules become C#. The old site keeps serving whatever hasn't moved.
Replace it. Right when the application's shape no longer fits the business, or when the pages are so tangled that porting them costs more than designing from the rules. Even then, replace alongside, with the data shared and the old site kept until the new one has proven itself.
The assessment reads the pages and prices each path as a fixed number.
How a page-by-page migration works
- Map it. Every page, every include, every SQL statement, every session variable and every integration, written down as a system description with the rules made explicit.
- Safety net. Source control, a documented build of the old site, a test environment, a backup that's been restored.
- A proxy in front. The ASP.NET Core application handles the pages it owns and passes everything else through to Classic ASP. Login is bridged so users see one site.
- Data layer once. The inline SQL is gathered into one place, so the rules exist once and both applications can use them.
- Pages in order of value. Each rebuilt, tested on a copy, run in staging on the same data, checked by the people who use it, then switched. The old page stays reachable until the new one has proven itself.
- Retire Classic ASP when the last page that matters has moved, before or after VBScript's removal, on your schedule rather than Microsoft's.
Your data
Usually SQL Server, occasionally Access, and either way it's the part that carries forward unchanged. Old and new applications share the same database throughout, so there's no data move unless an Access file has to become a SQL Server database first. Any change to the data is tested on a copy, then in staging, before anything connects to live.
What it costs
The assessment is from £395 + VAT, sized on a free one-hour consultation, with an exact price before you commit. For a Classic ASP application it counts the pages, maps where the rules and the SQL live, and prices containment, migration and replacement as fixed numbers. What drives the price and the payment terms each have a page.
The risks of waiting
The obvious one has a plan attached: VBScript is leaving Windows in phases, and a Classic ASP application in VBScript leaves with it. The date isn't fixed, which is worse than a fixed date, because it arrives as a surprise during a server rebuild.
The slower one is people. Classic ASP hasn't been taught for twenty years. The developer who can read yours is the same one who's retiring.
How we approach it
Map it, contain it, then move it on your schedule. Marc Allington has built web applications in Classic ASP and builds on ASP.NET Core now, so both ends are familiar. Everything we build runs on open, widely used technology, in your own accounts, with full source code and ownership transferring to you on final payment.
The technical checklist for a Classic ASP takeover
| Check | Why it matters |
|---|---|
| VBScript or JScript, and any COM components | VBScript is the engine being retired. COM components compiled in VB6 or C++ are a second dependency with their own risks. |
| Page and include count, and which pages are still used | Sets the size of the migration. Dead pages don't move. |
| Where the SQL lives | Inline SQL in pages has to be gathered into a data layer before the rules can exist once. |
| Session and application variables | What's held in session, and which pages read it, decides how the old and new sites are bridged. |
| Database: SQL Server, Access, something else | Access moves to SQL Server first; SQL Server stays put. |
| Integrations: email, payment, file uploads, other systems | Each is rebuilt on the new side and has to be found first. |
| Server: Windows version, IIS version, whether VBScript is installed as a feature | Sets the date pressure and the containment steps. |
| Source control and a documented build | Usually neither. The safety net comes before any page moves. |
Each answer goes into the report with its stage and a fixed price.
Questions
What people ask before they book.
Is Classic ASP still supported?
As an IIS component, yes, and Windows Server 2025 ships it. The language underneath, VBScript, is a different story: it's being retired from Windows in phases, and Classic ASP written in VBScript stops when it goes. That's the reason to plan now rather than the reason to panic.
When exactly will VBScript be removed?
Microsoft has published phases rather than a date: deprecated now, off by default from around 2026 to 2027, removed later. The risk is that the change arrives with a server rebuild or an operating system upgrade rather than on a day you chose.
Can you keep our Classic ASP site running while we decide?
Yes. Containment is the first stage: pin the server, document the build, make sure VBScript stays installed through updates, prove the backup restores. That buys the time to migrate on your schedule.
Can the VBScript be converted to C# automatically?
Not usefully. The pages mix markup, logic and SQL in a way that a converter reproduces rather than fixes. We read them, gather the rules and the SQL into one place, and rebuild the pages from that.
How long does a Classic ASP migration take?
It depends on the page count and how tangled the rules are, which the assessment measures. The shape is the usual one: containment and the proxy first, the first pages live within about six weeks, then pages in order of value, each priced before you commit.
Start with a free consultation
An hour on your system, online or by phone. From there we size the assessment, from £395 + VAT, and give you an exact price before you commit.
Want the numbers first? See how pricing works.
Written by Marc Allington, founder. .