AVR Classic is ASNA's version of AVR that runs on the old COM model. AVR Classic debuted as a GA product in 1994 and there are still many ASNA customers running very important AVR Classic applications today. And if you are one of those customers, we tip our hats to you and thank you very much!
The Windows platform has changed dramatically since 1994--especially so with the advent of Windows 7 in 2009. It didn't take long for us to start noticing issues with AVR Classic 4.x applications on Windows 7. By the time Windows 8 came out in 2012, the issues had compounded. AVR Classic was originally compiled with a COM-based C++ compiler. The code created with this old compiler didn't work with these newer versions of Windows. To help persist AVR Classic applications on these newer versions of Windows, six years ago we ported AVR Classic to the .NET-based C++ compiler and introduced AVR Classic 5.0. Using the new compiler let us produce a version of Classic that did run well on Windows 7 and 8 and later Windows 10.
The death of Windows XP
Many, in fact most, AVR Classic customers avoided the need for AVR 5.0 simply by not upgrading their Windows XP desktops to Windows 7 or 8. These customers stuck with Windows XP and their AVR Classic 4.x apps ran well there. In 2014, after many warnings and advance notices, Microsoft finally pulled the plug on Windows XP. This meant that Microsoft would no longer provide security updates for Windows XP and, while XP did still work, it rapidly became a huge target for malware and viruses. Without critical updates, ASNA had to stop using Windows XP in our network--this meant that we'd no longer be able to test AVR 4.x on Windows XP.
AVR 4.0 has been retired now for several years, which means it doesn't receive any new program updates or fixes. If you encounter a bug in AVR 4.0 today, you need to upgrade to AVR 5.0 to get the fix (more on this in a moment). AVR 4.1 isn't yet retired, but it's on the cusp. AVR 4.1 has limited support for Windows 7; its deployment is supported on 32-bit Windows 7 only. AVR 4.1 isn't supported for development on Windows 7/8/10 (there are problems with AVR Classic's IDE we couldn't resolve for Windows 7/8/10). Technically speaking, to be developing today in AVR 4.1 you need to be using Windows XP--hopefully a version not connected to a network!
Coming soon: AVR 5.1
Since we created AVR 5.0, Microsoft has issued several enhancements an updates to its C++ compiler. We are working now on AVR 5.1 which will be compiled with the newer C++ compiler. AVR 5.1 ships 1Q2019 and AVR 4.1 will be formally retired on June 30, 2019. That doesn't mean that it will instantly stop working, but it does mean that any bugs encountered in 4.1 won't be fixed in 4.1, you'll need to upgrade to AVR 5.x to get the fix.
TL;DR? Here is the short story:
- AVR 4.0 is retired now and updates and fixes are not available (and haven't been for several years). AVR 4.0 is not supported on Windows 7/8/10 for any purpose.
- AVR 4.1 isn't yet retired but will be on June 30, 2019. It is supported on 32-bit Windows 7 for deployment only. Note two distinctions here: AVR 4.1 development isn't supported on Windows 7 and AVR 4.1 isn't supported on Windows 8/10 for any purpose.
- AVR 5.0 supports Windows 7/8/10 for both deployment and development.
- AVR 5.1, which ships 1Q2019, will also support Windows 7/8/10 for both deployment and development.
- AVR 5.x supports Windows Server 2012, 2012R2, and 2016.
- AVR 5.x is a platform upgrade to AVR Classic 4.x and doesn't add any new features or facilities.
If you're using any version of AVR Classic 4.x, we strongly recommend you chart a course to upgrade to AVR Classic 5.x as soon as possible. No code needs to be a rewritten for a 4.x->5.x upgrade, just backup your 4.x project (just in case) and then open it and compile it with AVR 5.x.
An AVR 4.0 to AVR 4.1 upgrade isn't a good option today. AVR 4.1 retires in June next summer. Skip 4.1 and at least upgrade to AVR 5.0.
While AVR 5.x has been compiled with a modern, Windows 7/8/10-friendly compiler, it's not likely that any of your third-party controls have been. Test each control carefully. Some have the potential to cause issues as you move into the Windows 7/8/10 environment.
If you're still using Windows XP, upgrade to Windows 10!
If you're using Windows 7, budget for a Windows 10 upgrade soon. Windows 7 still has life left so you don't need to rush off of it, but you do want a plan for getting to Windows 10.
If you're one of the few customers left using AVR 4.x for websites, plan on extra testing of both your development and server environments. AVR Classic 4.x isn't supported on any Windows Server version after Windows Server 2003--so upgrading to AVR 5.0 also means a server upgrade. Plan accordingly and seriously considering going to the beginning of the line and upgrading to Windows Server 2016. Windows Server 2012 ended mainstream support on October 9, 2018.
We know that planning for AVR upgrades isn't a fun thing to put on your to-do list. ASNA has made a substantial investment in AVR 5.0 and this version buys time for your AVR Classic applications. But it only buys you time if you upgrade to it. Old AVR Classic code would probably run forever on the environments for which it was intended. But those environments (primarily Windows XP) are no longer in service. To ensure your classic apps work appropriately on newer versions of Windows an AVR 5.0 upgrade is a must.
This article covered AVR Classic upgrade strategies. See this article for details on extending AVR Classic with AVR for .NET.