Win32程序在Win10系统中兼容问题的解决方案
2020-06-10马雪婷
马雪婷
(吉林大学计算机科学与技术学院 吉林省长春市 130000)
虽然Win7系统被公认为是兼容性最好的PC操作系统,但是因为硬件和软件技术的不断发展,随着微软对Win7技术支持的停止以及硬件厂家不再为新硬件产品提供Win7驱动,Win10系统已经成为PC操作系统的主流,目前市场上的新装电脑,无论是品牌整机还是组装的兼容机,几乎都已经采用64位Win10系统了。
由于历史的积累,目前尚有大量32位应用软件在服役,Win7或更早期平台下开发出来的软件中有相当一部分在Win10下运行时会出现不同的兼容问题。有不少用户(特别是行业软件用户)甚至会因为无法处理这个问题而只能继续使用旧电脑。旧版本应用软件在新版操作系统中的兼容问题将会长期大量存在,这类兼容问题在实际中一般会有如下几种表现形式:无法运行安装程序、可安装但是运行软件无反应或报错、运行软件出现异常配置、能进入软件但是无法具体使用软件的某些或全部功能等。
为了使这些存在兼容问题的旧版本软件能继续为我们的生产、生活服务,可采用一些设置方法来解决,下面介绍一些具体的可行方案。
1 设置兼容模式运行程序
当应用软件运行出现兼容问题时,大家最先想到的就是进行兼容模式设置。在程序的图标或快捷方式的图标上点鼠标右键,选“属性”-“兼容性”,选中“以兼容模式运行这个程序”,然后尝试选择列表(图1)中提供的兼容模式(一般地说,选 Windows XP Service Pack 2/3成功率最高),选择后点“应用”-“确定”,再运行此程序看一下!很多软件经过此设置后可正常运行。
2 进行用户账户控制设置
Win10系统对用户账户控制方面进行了较大的调整,因此在运行某些软件的时候可能会因为默认的权限不足而失败,可尝试按下面的说明先进行账户控制设置,然后再运行软件。用户账户控制设置需要在“本地组策略编辑器”中进行,而在Win10 HOME版中,此功能默认是关闭的,需要先经过如2.1节设置启动该功能,非HOME版本的其他Win10系统则无需此步设置,直接跳到2.2节操作即可。
2.1 开启“本地组策略编辑器”功能
先新建一个文本格式文件,文件名随意,扩展名改为“cmd”,文件内容写入如下:
@echo off
pushd “%~dp0”
dir /b C:WindowsservicingPackagesMicrosoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b C:WindowsservicingPackagesMicrosoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in (‘findstr /i . List.txt 2^>nul’) do dism /online /norestart /add-package:”C:WindowsservicingPackages\%%i”
pause
存盘关闭后,在此cmd文件图标上点鼠标右键,选“以管理员身份运行”,会出现一个CMD黑色窗口,当出现“请按任意键继续”后,点任意键关闭CMD窗口,就已经开启了本地组策略编辑器功能了。这一步操作会随用户的系统情况持续一段时间,有可能几秒,也可能会几分钟,需要耐心等待。
图1
图2
2.2 进行用户账户控制设置
按住键盘上Win+R,调出Windows的运行对话框,输入“gpedit.msc”后回车,调出本地组策略编辑器后,参看图2,展开“计算机配置”-“windows设置”-“安全设置”-“本地策略”-“安全选项”,找到右侧框中2处,都设置为“已禁用”,然后把电脑重启一下即可完成设置。
设置完成后需要重启一次系统,再尝试重新运行程序看是否正常!经过此操作,一些无法正常运行的软件就会正常了,通过QQ的远程协助功能远程操作Win10的电脑时,无法取得完全远程操作权限,也可用此方法修复。
3 恢复“仅为基本windows程序和服务启用DEP”
图3
图4
图5
Windows的DEP(Data Execution Prevention)功能简称“数据执行保护”,是Windows系统的一项安全机制。此功能在系统中有2个选项,初装系统后,默认选项为“仅为基本windows程序和服务启用DEP”,当安装一些软件后,默认选项可能会被修改,从而造成第三方软件运行异常。因此,当软件运行出现兼容问题时,可检测此参数设置,如果发现其设置并非默认选项,可尝试恢复为系统默认,此项设置后需要重启系统生效。
具体的设置方法是:
鼠标右键点桌面“此电脑”图标- “属性”-“高级系统设置”-“性能”-“设置”-“数据执行保护”-“仅为基本Windows程序和服务启用DEP“-“应用”-“确定”,如图3所示。
4 解决程序运行中出现配置死循环
当运行某个应用软件时,有时候会弹出一个第三方软件的配置提醒,只有完成此配置,软件才能继续下去,这种情况一般是系统注册表的问题。除了Win10外,其它操作系统,比如Win7或XP中,也经常会有类似问题,但是Win7或Xp遇到这种问题时,用户可选择按其提示完成配置,或者点“取消”按钮临时跳过此提示,软件还是可以正常运行的,但是在Win10系统中遇到这个问题,无法进行配置,点“取消”后,软件就出现一个死循环界面卡住不动了(如图4),只有重启电脑才会消除此界面,这样的话,软件也就无法运行了,这应该是Win10的一个BUG,遇到这种问题,可参看如下办法处理:
(1)到控制面板中,卸载需要配置的程序,如果该程序不是必须,卸载后最好别再安装,如果仍需要这个程序,卸载后重新安装一次该程序,再运行软件看是否正常,如果已经不再出现配置提示,那么就正常了,如果还是出现配置提示,参看下一步骤解决;
(2)下载Windows Installer软件,该软件是微软旗下一款用来管理和配置软件服务的工具,该软件安装时无法选择安装位置,默认安装路径为C:Program Files (x86)Windows Installer Clean Up,安装后,在开始菜单的程序组中可找到快捷方式(名字叫Windows Install Clean Up),但是桌面上不会有快捷方式。运行该程序后,在其列表中选择出现配置异常的程序项,然后点Remove按钮(图5),操作成功后正常运行软件就可以了。
5 处理硬件驱动兼容问题
对一些有加密保护的应用软件来说,如果其在运行中出现软件兼容问题,则除了上面提到的原因以外,还可能是由硬件的驱动问题引起的。目前的软件保护机制中,最常用的也就是USB加密锁(硬加密)以及基于硬件特性码的注册码(软加密)的加密方式,现在的Win10系统本身已经集成了大量的硬件兼容驱动,也就是说当操作系统安装后,一般无需特意安装硬件原版驱动,系统也可以正常的运行。但是这些兼容驱动与硬件厂家提供的原版驱动还是有一定区别的,对无法在Win10下正常运行的有加密要求的应用软件,还需要考虑此类因素。
对硬加密软件来说,可能有关的驱动包括加密锁自身驱动、主板芯片组驱动以及USB驱动,对采用软加密的应用软件来说,可能有关的驱动主要是芯片组驱动以及硬盘(SATA)驱动。
如果这些有加密的应用软件在Win10中存在兼容问题而无法运行的话,可先到其主板官网按主板的准确型号下载Win10系统对应的、最新的、原版的驱动程序安装,然后再尝试运行软件看是否正常。
6 结束语
计算机的硬件技术差不多一直在遵照摩尔定律迅猛发展,但是软件的更新却很难跟上硬件的发展速度,不论是个人用的应用软件还是企业用的应用软件,绝大部分都是在Win7以及之前的操作系统平台上开发的,因此在新的操作系统下的兼容问题无法避免,有些专业性很强的应用软件厂家可能已经停止服务,但是这些软件仍在被大量用户所使用,经过合理的设置使这些软件能够在新的系统中正常运行,具有非常大的现实意义,实际应用中存在的兼容问题处理方法还有很多(比如可考虑Win10系统加载虚拟机方式等),不同的软件处理方法也不尽相同,本文仅抛砖引玉,供大家参考。