Totally ignoring the fact that for all middleware-based vertical market software (which is, in effect, "all of it", mostly written in dialects of VB to glue a bunch of Microsoft and third party DLLs together) it's an added "rewrite everything from scratch" overhead, it ignores buying cycle.
But I have stuff like that running on my Windows 7 amd64 system on a regular basis. WTF are you on about?
You can have stuff *like that*, but it's not going to be the same stuff, it's going to be *new stuff* written in VB.Net or C#.Net.
This would be fine, if anyone had liked some of the intermediate Windows releases, and gone forward on those platforms, instead of running more XP systems because they freaking *HATED* "ME", "Vista", which is why they never achieved sufficient market share to displace XP. This should have been obvious when everyone avoided "200" and instead went for XP when it came out.
Instead, the vertical market code is still living on the old VB platform on XP.
While VB6.0 apps *can* run on Server 2008, Windows 7, and Windows 8 platforms, most *don't*.
First of all, the Server 2008 platform is irrelevant for vertical market apps, since they run client side, not server-side.
Second, you can't use Office 2000 as an installed application on the new platforms, you have to use Office 2011 and 2013, and the DLL components that make up the components you'd use in the vertical market app are sufficiently different from one another that you'd have to pic running one or the other anyway. Which would be fine, except Office 2013 requires Windows 7 or above to install. So basically, if I want new Office, I have to tke new Windows, and vice versa.
This means that you have to do a re-buy, or you have to have two versions of your vertical market application.
To add insult to injury, it's practically impossible to force the newer versions of Office to use the older file formats at the DLL level, without reselecting the settings every time you save a document. So if your vertical market app has to communicate data between an older and a newer workstation instance, even if you invest in rewriting you vertical market app from scratch to move off VB 6.0, it's most non-interoperable without a bunch of "Can you re-save that document in the old office format so I can use it? Thanks.".
At a minimum, if I'm a small business with 20 employees, and I want to add 3 more, I am pretty much screwed, unless I've done one of two things:
(1) Pre-bought a bunch of XP systems and stuck them in a closet in case I wanted to hire someone, or someone's computer dies
(2) Paid to move everyone forward onto at *least* Windows 7 and Office 2003, and paid to have my middleware rewritten.
Even so, there are a lot of third party DLL components that simple *are not available* as 64 bit versions. So I m either SOL, or paying to duplicate their functionality, as well, in order to get my dentists office / collections agency / non-profit call center / POS systems / whatever vertical market app, back online.
---
So like I've said: they've missed the boat for about 70% of their market, which simply can not afford to redo everything all at once.
They *REALLY* needed to deprecate the OS and the applications components - Office - and the applications platform - VB 6.0 - *separately* so that SMBs could do overlapping buy-forward, which is more in line with the fact that they are constrained in their instantaneous purchasing power by being in a cash flow business model, but relatively unconstrained in their over time purchasing power, for the same reason.
Frankly, they *could* have maintained component binary binary compatibility, while deploying a new office.
The actual order should have been:
(1) New windows with VB 6.0 and Office binary backward compatibility
(2) Deprecate XP and force people OS-forward with (relatively) little pain
(3) New Office with component binary backward compatibility, requiring new OS
(4) New VB.Net capable of running VB 6.0
(5) *GOOD* source translation tools that warned about coming incompatibilities. Include translation to C# instead of VB.Net for extra good will
(6) Deprecate VB 6.0 in favor of VB.Net / C#
(7) Deprecate old Office DLL APIs that were warned about in #5; force migration to new DLLs for new installs of Office used as components
This would have allowed layered buy-forward into the new ecosystem without crapping on anyone's business that they've been running on a vertical market since 1991.
Microsoft sold everyone a bill of goods with their component architecture, and then failed to carry through on component reuse going forward.
And I would say that that is about 70% of their installed base.