我维护着大部分用C编写的遗留代码。此代码最初被编写为针对Windows 3 for Workgroups进行编译,后来创建了NT版本。这个旧版应用程序至今仍在使用,自90年代初开始在3.11和NT工作站上愉快地运行。它可以正常工作,并且可以完成预期的工作,而它们仍然存在的原因是,属于该解决方案的某些自定义硬件的驱动程序与以后的Windows不兼容。
我维护了另一个应用程序,出于相同的原因,该应用程序仅在Win2k上有效。
但是,随着事情的发展,运行这些旧环境变得越来越困难。现在,我保留安装了开发软件的物理机,因此可以在本机硬件上工作。但是这些可能会随时死亡(毕竟他们已经25岁了)。
所以我的问题是,从2016年开始,我有什么选择可以更稳定地维护这一古老环境?您可以将3.11迁移到云托管吗?
我尝试了虚拟化,但是由于设置的特殊性,我无法使其与设备驱动程序一起使用,因此我认为可能需要按原样制作完整的操作系统映像,然后在一个操作系统中运行该映像。 VM开发软件?这样的事情可能对来宾操作系统版本一样古老WIN3和NT?
是否有任何经验可以使类似的旧平台存活下来进行开发,但是我可以借鉴更现代,更安全的方式?
我的目标是摆脱旧的物理机,然后转向虚拟化。