软件开发与应用
Software Development And Application
电子技术与软件工程Electronic Technology&Software Engineering
Win32程序在WinlO系统中兼容问题的解决方案
马雪婷
(吉林大学计算机科学与技术学院吉林省长春市130000)
摘要:本文通过对当前WinlO系统的兼容性问题研究,具体分析了Win32程序在Winl0系统中兼容问题的解决方案,以供大家参考。关键词:WinlO系统;Win32程序;兼容性
虽然Win7系统被公认为是兼容性最好的PC操作系统,但是
因为硬件和软件技术的不断发展,随着微软对Win7技术支持的停止以及硬件厂家不再为新硬件产品提供Win7驱动,WinlO系统已经成为PC操作系统的主流,目前市场上的新装电脑,无论是品牌整机还是组装的兼容机,几乎都己经采用64位WinlO系统了。
由于历史的积累,目前尚有大量32位应用软件在服役,Win7或更早期平台下开发出来的软件中有相当一部分在WinlO下运行时会出现不同的兼容问题。有不少用户(特别是行业软件用户)甚至会因为无法处理这个问题而只能继续使用旧电脑。旧版本应用软件在新版操作系统中的兼容问题将会长期大量存在,这类兼容问题在实际中一般会有如下几种表现形式:无法运行安装程序、可安装但是运行软件无反应或报错、运行软件出现异常配置、能进入软件但是无法具体使用软件的某些或全部功能等。
为了使这些存在兼容问题的旧版本软件能继续为我们的生产、生活服务,可采用一些设置方法来解决,下面介绍一些具体的可行方案。
1设置兼容模式运行程序
当应用软件运行出现兼容问题时,大家最先想到的就是进行兼容模式设置。在程序的图标或快捷方式的图标上点鼠标右键,选“属性”-“兼容性”,选中“以兼容模式运行这个程序”,然后尝试选择列表(图1)中提供的兼容模式(一般地说,选Windows XP Service Pack2/3成功率最高),选择后点“应用”・“确定”,再运行此程序看一下!很多软件经过此设置后可正常运行。
2进行用户账户控制设置
WinlO系统对用户账户控制方面进行了较大的调整,因此在运行某些软件的时候可能会因为默认的权限
不足而失败,可尝试按下面的说明先进行账户控制设置,然后再运行软件。用户账户控制设置需要在“本地组策略编辑器”中进行,而在WinlO HOME版中,此功能默认是关闭的,需要先经过如2.1节设置启动该功能,非HOME版本的其他WinlO系统则无需此步设置,直接跳到2.2节操作即可。
2.1开启“本地组策略编辑器”功能
先新建一个文本格式文件,文件名随意,扩展名改为“cmd”,文件内容写入如下:
@echo off
pushd“%~dpO”
dir/b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum&
win10编程c语言用什么软件dir/b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~-3*.mum»
for/f%%i in('findstr/2A>nul*)do dism/online/ norestart/add-package:°C:\Windows\servicing\Packages\%%i M pause
存盘关闭后,在此cmd文件图标上点鼠标右键,选“以管理员身份运行”,会出现一个CMD黑窗口,当出现“请按任意键继续”后,点任意键关闭CMD窗口,就已经开启了本地组策略编辑器功能了。这一步操作会随用户的系统情况持续一段时间,有可能几秒,也可能会几分钟,需要耐心等待。
**快師式»8^安全以n舶录本
W<ndow$8»玄试运行
ire*式
B以義皿氏运iis个M
Window*XP(Service Pack2)
SI
□用640x480Wl酬啦行
□*用全IB优化
□以■理员躺运行如序
KiSatDPliftl
KM fiWM
图1
文件<F)IWT(A)M(V)W«)(H)
•呻才T*其Q
^witinnatB
-艸计・驱・卜-
.钦件设・
”|Windows设.卜
K名
I•本(@砂关机)
*eaMiswaw
-*1安金设.—
9%户负路
*I♦-
q一用户顾分配
島圾安全WindcwsDe'
应用程序桂祢
S IP安金蕖裕.在本iftd
■于i nnagQas
M
..为计HSU存4»旳用户砂5WH5行■曲陶P
_系俛设widows Bjmti文件中的证书砂用于歌件
...KKiSI:可透子系傥
,以安全IS囲宦义i«E(SDDl)a注!R示的翊RM
、、PBPWPfflM标凍用户升禮示行为
.式中■理员的血升easii示的
,.唯3R应用程序安SWH#示提升
...fBPWPSM将文件IG注册厦写入邸化丽用户位鼻
..用PWPSW仅!■升安II在安全位lffiguiAtces应用程序
■、用户辙户控制金示升时切唤對安金東面
-用户離户控制以刼员財蟆式运行所W貝
用户*用于内■■直员户的管理员加<»■式
支全设■
iswgy
e*用
.允许UlAccess应用程序在不使用安全《36的
只ai升名井验证的可si行文件
…对安全iAiIJS圖8行敢宇SDUSlJi可输
域成员:对安全通iMMR进行般林名(M»8Jie)
..域成员:计■长便用删
没育定义
不複示
eeffl J
已陕用#
BMW j
an用|
己SI用
eeffl
BBS
己e用
30天
图2
2.2进行用户账户控制设置
按住键盘上Win+R,调出Windows的运行对话框,输入“gpedit. msc”后回车,调出本地组策略编辑器后,
参看图2,展开''计算机配置”-“windows设置”-“安全设置”■“本地策略”-“安全选项”,到右侧框中2处,都设置为"已禁用”,然后把电脑重启一下即可完成设置。
设置完成后需要重启一次系统,再尝试重新运行程序看是否正常!经过此操作,一些无法正常运行的软件就会正常了,通过QQ 的远程协助功能远程操作WinlO的电脑时,无法取得完全远程操作权限,也可用此方法修复。
3恢复“仅为基本windows程序和服务启用DEP”
58
软件开发与应用
Software Development And Application
电子技术与软件工程
Electronic Technology & Software Engineering
«K9t« Mt
/
•nmwiwy (O£P )
.仪沁* Windows IbrKSfiM O€P (n
下沁帧"O€P(U)
•■支All 于*«旳 D£P.
as
图3
Contaumg further w* m«ke permanent change* to your system You may need to remstal some or al appfecati>ns on your system that used the Windows instalef technotogy to be nstoled If you do not want to
proce«<l. please press the IxT button now Cbooeng ■Remove' w« make the penmnent chanoes hstaled Products
(Al User*) Adobe Acrobat 9 Pro - CbneseS [9 3 2] a (Al U mt *) Apple Software Update (2 6 3 1]
(Al Users) App«cMo<i Venfier x64 External Package (10 1 16299 15J (Al User*) Appieaton Venfier x64 External PackaQe (10 1 17134 12]
Utcr») Apptcaton Wnfter x64 External Ptcfcage (10 117763 132)
(Al Users) D«9nostx»Hub_Colect»nService 116 0 28621] (Al U mt «) Goo* Update Helper (1 3 35 441](Al Users) icecap_cotection_neutral [16 0 28622](Al U mts ) cecap_co*ecton_x64 (16 0 28622]
(Ai U mt *> lectonresources (16 0 28622] (Al Users) cec*p_co*ectionre«ource«x64 (16 0 28622) (Al Users) Me<R) Ch<»e< Devce Software [10 1 1 45] (Al User*) irrtelTraceProfiefProxy (150 18198 01)
SlectAI | £tefAl |Remove I Egl
图5
Windows 的 DEP(Data Execution Prevention)功能简称"数据执 行保护”,是Windows 系统的一项安全机制。此功能在系统中有2 个选项,初装系统后,默认选项为“仅为基本windows 程序和服务 启用DEP ”,当安装一些软件后,默认选项可能会被修改,从而造
成第三方软件运行异常。因此,当软件运行出现兼容问题时,可检 测此参数设置,如果发现其设置并非默认选项,可尝试恢复为系统 默认,此项设置后需要重启系统生效。
具体的设置方法是:
鼠标右键点桌面“此电脑”图标•“属性”•“高级系统设置”■“性
能”-“设置”・“数据执行保护” ■“仅为基本Windows 程序和服 务启用DEP''-“应用”・"确定”,如图3所示。
4解决程序运行中出现配置死循环
当运行某个应用软件时,有时候会弹出一个第三方软件的配置 提醒,只有完成此配置,软件才能继续下去,这种情况一般是系统
注册表的问题。除了 WinlO 外,其它操作系统,比如Win7或XP 中, 也经常会有类似问题,但是Win7或Xp 遇到这种问题时,用户可 选择按其提示完成配置,或者点“取消”按钮临时跳过此提示,软 件还是可以正常运行的,但是在WinlO 系统中遇到这个问题,无法 进行配置,点''取消”后,软件就出现一个死循环界面卡住不动了 (如图4),只有重启电脑才会消除此界面,这样的话,软件也就 无法运行了,这应该是WinlO 的一个BUG,遇到这种问题,可参 看如下办法处理:
(1) 到控制面板中,卸载需要配置的程序,如果该程序不是 必须,卸载后最好别再安装,如果仍需要这个程序,卸载后重新安 装一次该程序,再运行软件看是否正常,如果己经不再岀现配置提 示,那么就正常了,如果还是出现配置提示,参看下一步骤解决;
(2) 下载Windows Installer 软件,该软件是微软旗下一款用 来管理和配置软件服务的工具,该软件安装时无法选择安装位置, 默认安装路径为 C:\Program Files (x86)\Windows Installer Clean Up, 安装后,在开始菜单的程序组中可到快捷方式(名字叫Windows Install Clean Up),但是桌面上不会有快捷方式。运行该程序后, 在其列表中选择出现配置异常的程序项,然后点Remove 按钮(图 5),操作成功后正常运行软件就可以了。
5处理硬件驱动兼容问题
对一些有加密保护的应用软件来说,如果其在运行中出现软件
兼容问题,则除了上面提到的原因以外,还可能是由硬件的驱动问 题引起的。目前的软件保护机制中,最常用的也就是USB 加密锁(硬 加密)以及基于硬件特性码的注册码(软加密)的加密方式,现在 的WinlO 系统本身已经集成了大量的硬件兼容驱动,也就是说当操 作系统安装后,一般无需特意安装硬件原版驱动,系统也可以正常 的运行。但是这些兼容驱动与硬件厂家提供的原版驱动还是有一定 区别的,对无法在WinlO 下正常运行的有加密要求的应用软件,还 需要考虑此类因素。
对硬加密软件来说,可能有关的驱动包括加密锁自身驱动、主 板芯片组驱动以及USB 驱动,对采用软加密的应用软件来说,可 能有关的驱动主要是芯片组驱动以及硬盘(SATA)驱动。
如果这些有加密的应用软件在WinlO 中存在兼容问题而无法运 行的话,可先到其主板按主板的准确型号下载WinlO 系统对应 的、最新的、原版的驱动程序安装,然后再尝试运行软件看是否正常。
6结束语
计算机的硬件技术差不多一直在遵照摩尔定律迅猛发展,但是 软件的更新却很难跟上硬件的发展速度,不论是个人用的应用软件 还是企业用的应用软件,绝大部分都是在Win7以及之前的操作系 统平台上开发的,因此在新的操作系统下的兼容问题无法避免,有 些专业性很强的应用软件厂家可能已经停止服务,但是这些软件仍 在被大量用户所使用,经过合理的设置使这些软件能够在新的系统 中正常运行,具有非常大的现实意义,实际应用中存在的兼容问题 处理方法还有很多(比如可考虑WinlO 系统加载虚
拟机方式等), 不同的软件处理方法也不尽相同,本文仅抛砖引玉,供大家参考。
参考文献
[1]郭建伟.顺畅更新Windows 10 [J].网络安全和信息
化,2018, (4): 99-100.作者简介
马雪婷( 2000-),女,吉林大学计算机科学与技术学院计算机科
学与技术(网络与信息安全)专业本科生。
59
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论