我面临以下问题:
我有一个运行在 Visual Studio 6.0 上的Win32旧版应用程序(exe和dll)和驱动程序(dll)。 在Windows Xp上的 Debug版本中很好(请注意:我们在DEBUG配置中需要它,而不是Release)。 我复制了Visual Studio 6.0的msvc *类型的dll,MFC dll的&清单文件以及exe使其运行。
相同的旧版32位应用程序和驱动程序dll现在已经以Visual Studio 2008 DEBUG 模式进行了新编译。 然后将其复制到运行 64位Windows 10 PC的PC(也尝试了Windows 7,但未成功)而没有VS2008 已安装。我复制了VS2008的msvc *类型dll( msvcp90d.dll,msvcr90d.dll ),MFC dll和清单文件( Microsoft.VC90.DebugCRT.manifest ),以及
在启动此应用程序的调试版本时(它会在启动时执行许多初始化活动,还调用驱动程序dll的init方法),它会在64位Windows 10和更高版本上启动时崩溃 Windows 7 PC。
在Windows 10 PC上安装 VS2008 时,应用程序的调试版本正确启动而不会崩溃,并且可以正常运行。 (还请注意,使用旧的Visual Studio 6.0的相同应用程序的Debug构建在Windows 10上可以正常工作。)
在Windows 10 PC上未安装VS2008时,应用程序的调试版本在启动时会崩溃。
我们绝对需要在Windows 10 PC上运行该应用程序的 DEBUG 配置。
我尝试了许多变通方法,例如在VS2008中使用32位路径进行构建($ \ Program Files(x86)\ Microsoft SDKs \ Windows ..), VS2008的已安装可再发行产品(x86和x64), 以“管理员”用户身份运行, 在兼容模式下运行(Win Xp ..), 将dll从安装了VS2008的PC的system32文件夹复制到没有VS2008等的PC。但是Debug构建始终在启动时崩溃。
任何帮助或指针将不胜感激。 如果您想了解更多详细信息,请告诉我。 预先谢谢你。