2024年3月1日发(作者:)

软件开发与应用Software

Development

And

Application电子技术与软件工程Electronic

Technology

&

Software

EngineeringWin32程序在WinlO系统中兼容问题的解决方案马雪婷(吉林大学计算机科学与技术学院吉林省长春市130000

)摘

要:本文通过对当前WinlO系统的兼容性问题研究,具体分析了

Win32程序在Winl0系统中兼容问题的解决方案,以供大家参考。

关键词:WinlO系统;Win32程序;兼容性虽然Win7系统被公认为是兼容性最好的PC操作系统,但是

因为硬件和软件技术的不断发展,随着微软对Win7技术支持的停

止以及硬件厂家不再为新硬件产品提供Win7驱动,WinlO系统已

经成为PC操作系统的主流,目前市场上的新装电脑,无论是品牌

整机还是组装的兼容机,几乎都己经采用64位WinlO系统了。由于历史的积累,目前尚有大量32位应用软件在服役,Win7

或更早期平台下开发出来的软件中有相当一部分在WinlO下运行时

会出现不同的兼容问题。有不少用户(特别是行业软件用户)甚至

会因为无法处理这个问题而只能继续使用旧电脑。旧版本应用软件

在新版操作系统中的兼容问题将会长期大量存在,这类兼容问题在

实际中一般会有如下几种表现形式:无法运行安装程序、可安装但

是运行软件无反应或报错、运行软件出现异常配置、能进入软件但

是无法具体使用软件的某些或全部功能等。为了使这些存在兼容问题的旧版本软件能继续为我们的生产、

生活服务,可采用一些设置方法来解决,下面介绍一些具体的可行

方案。**

快師式 »8^

安全

W

以n舶录本8»玄试运行ire*

式B以義皿氏运iis个MWindow*

XP

(Service

Pack

2)SI□用640

x

480 Wl酬啦行□

*用全IB优化□以■理员躺运行如序KiSatDPliftl1设置兼容模式运行程序当应用软件运行出现兼容问题时,大家最先想到的就是进行兼

容模式设置。在程序的图标或快捷方式的图标上点鼠标右键,选“属

性”-“兼容性”,选中“以兼容模式运行这个程序”,然后尝试

KM

fiWM选择列表(图1)中提供的兼容模式(一般地说,选Windows

XP

Service

Pack

2/3成功率最高),选择后点“应用”・“确定”,再

运行此程序看一下!很多软件经过此设置后可正常运行。图1文件<F)

IWT(A)

M(V)

W«)(H)•呻才T*其

Q2进行用户账户控制设置^witinnatB-艸计・驱・卜-M..为计HSU存4»旳用户砂5WH5行■曲陶P支全设■

iswgy

WinlO系统对用户账户控制方面进行了较大的调整,因此在运

行某些软件的时候可能会因为默认的权限不足而失败,可尝试按下

面的说明先进行账户控制设置,然后再运行软件。用户账户控制设

置需要在“本地组策略编辑器”中进行,而在WinlO

HOME版中,

此功能默认是关闭的,需要先经过如2.1节设置启动该功能,非

HOME版本的其他WinlO系统则无需此步设置,直接跳到2.2节操

作即可。”

.钦件设・|Windows

设.卜_系俛设widows Bjmti文件中的证书砂用于歌件...

KKiSI:可透子系傥e*用K名I•本(@砂关机)* eaMiswaw-*1安金设.—9

%户负路*

I♦-q一用户顾分配,以安全IS囲宦义i«E(SDDl)a注!R示的翊RM、、PBPWPfflM标凍用户升禮示行为.式中■理员的血升easii示的没育定义不複示,.唯3R应用程序安SWH#示提升...

fBPWPSM将文件IG注册厦写入邸化丽用户位鼻

..用PWPSW仅!■升安II在安全位lffiguiAtces应用程序

■、用户辙户控制金示升时切唤對安金東面eeffl

已陕用#

BMW

j

an用|J

島圾安全WindcwsDe'-用户離户控制以刼员財蟆式运行所W貝

用户*用于内■■直员户的管理员加<»■式2.

1开启“本地组策略编辑器”功能先新建一个文本格式文件,文件名随意,扩展名改为“cmd”,

文件内容写入如下:.允许UlAccess应用程序在不使用安全《36的

应用程序桂祢S

IP安金蕖裕.在本iftd■于innagQas只ai升名井验证的可si行文件„

对安全iAiIJS圖8行敢宇SDUSlJi可输己SI用eefflBBS

己e用域成员:对安全通iMMR进行般林名(M»8Jie)..域成员:计■长便用删30天@echo

offpushd

%~dpO

”dir

/b

C:WindowsservicingPackagesMicrosoft-Windows-

GroupPolicy-ClientExtensions-Package~3*.mum

>

/b

C:WindowsservicingPackagesMicrosoft-Windows-

GroupPolicy-ClientTools-Package~-3*.mum

»

/f

%%i

in

'findstr

/i

.

2A>nul

*

do

dism

/online

/

norestart

/add-package:

°

C:WindowsservicingPackages%%iMpause存盘关闭后,在此cmd文件图标上点鼠标右键,选“以管理员

身份运行”,会出现一个CMD黑色窗口,当出现“请按任意键继续”

后,点任意键关闭CMD窗口,就已经开启了本地组策略编辑器功

能了。这一步操作会随用户的系统情况持续一段时间,有可能几秒,

也可能会几分钟,需要耐心等待。图22.2进行用户账户控制设置按住键盘上Win+R,调出Windows的运行对话框,输入“gpedit.

msc”后回车,调出本地组策略编辑器后,参看图2,展开''计算

机配置”

-“

windows设置”-“安全设置”

■“本地策略”-“安全选项”,

找到右侧框中2处,都设置为"已禁用”,然后把电脑重启一下即

可完成设置。设置完成后需要重启一次系统,再尝试重新运行程序看是否正

常!经过此操作,一些无法正常运行的软件就会正常了,通过QQ

的远程协助功能远程操作WinlO的电脑时,无法取得完全远程操作

权限,也可用此方法修复。3恢复“仅为基本windows程序和服务启用DEP”58

电子技术与软件工程软件开发与应用Electronic

Technology

&

Software

EngineeringSoftware

Development

And

Application能”-“设置”・“数据执行保护” ■“仅为基本Windows程序和服

«K9t«

Mt务启用DEP''-“应用”・"确定”,如图3所示。/

•nmwiwy(O£P)4解决程序运行中出现配置死循环.仪沁*

Windows

IbrKSfiM

O€P(n当运行某个应用软件时,有时候会弹出一个第三方软件的配置

下沁帧"O€P(U)提醒,只有完成此配置,软件才能继续下去,这种情况一般是系统

注册表的问题。除了

WinlO外,其它操作系统,比如Win7或XP中,

也经常会有类似问题,但是Win7或Xp遇到这种问题时,用户可

选择按其提示完成配置,或者点“取消”按钮临时跳过此提示,软

件还是可以正常运行的,但是在WinlO系统中遇到这个问题,无法

进行配置,点''取消”后,软件就出现一个死循环界面卡住不动了

(如图4),只有重启电脑才会消除此界面,这样的话,软件也就

无法运行了,这应该是WinlO的一个BUG,遇到这种问题,可参

看如下办法处理:•■支All于*«旳

D£P.(1)

到控制面板中,卸载需要配置的程序,如果该程序不是

必须,卸载后最好别再安装,如果仍需要这个程序,卸载后重新安

as装一次该程序,再运行软件看是否正常,如果己经不再岀现配置提

示,那么就正常了,如果还是出现配置提示,参看下一步骤解决;图3(2)

下载Windows

Installer软件,该软件是微软旗下一款用

来管理和配置软件服务的工具,该软件安装时无法选择安装位置,

默认安装路径为

C:Program

Files

(x86)Windows

Installer

Clean

Up,

安装后,在开始菜单的程序组中可找到快捷方式(名字叫Windows

Install

Clean

Up),但是桌面上不会有快捷方式。运行该程序后,

在其列表中选择出现配置异常的程序项,然后点Remove按钮(图

5),操作成功后正常运行软件就可以了。5处理硬件驱动兼容问题对一些有加密保护的应用软件来说,如果其在运行中出现软件

兼容问题,则除了上面提到的原因以外,还可能是由硬件的驱动问

题引起的。目前的软件保护机制中,最常用的也就是USB加密锁(硬

加密)以及基于硬件特性码的注册码(软加密)的加密方式,现在

的WinlO系统本身已经集成了大量的硬件兼容驱动,也就是说当操

作系统安装后,一般无需特意安装硬件原版驱动,系统也可以正常

的运行。但是这些兼容驱动与硬件厂家提供的原版驱动还是有一定

区别的,对无法在WinlO下正常运行的有加密要求的应用软件,还

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«

please

press

the

IxT

button

now

Cbooeng ■Remove'

make

板芯片组驱动以及USB驱动,对采用软加密的应用软件来说,可

the

penmnent

chanoeshstaled

Products能有关的驱动主要是芯片组驱动以及硬盘(SATA)驱动。(Al

User*)

Adobe

Acrobat

9

Pro

-

CbneseS

[9

3

2]

a如果这些有加密的应用软件在WinlO中存在兼容问题而无法运

(Al

Umt*)

Apple

Software

Update

(2

6

3

1](Al

Users)

App«cMo

Venfier

x64

External

Package

(10

1

16299

15J行的话,可先到其主板官网按主板的准确型号下载WinlO系统对应

(Al

User*)

Appieaton

Venfier x64

External

PackaQe

(10

1

17134

12]

Utcr»)

Apptcaton

Wnfter x64

External

Ptcfcage

(10

117763

132)的、最新的、原版的驱动程序安装,然后再尝试运行软件看是否正常。

mguage

Pae*

SmpHed

Orese(Al

Users)

D«9nostx»Hub_Colect»nService

116

0

28621]

6结束语(Al

Umt«)

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

Umt*>

onresources

(16

0

28622]

软件的更新却很难跟上硬件的发展速度,不论是个人用的应用软件

(Al

Users)

cec*p_co*ectionre«ource«x64

(16

0

28622)

(Al

Users)

Me

Ch<»e<

Devce

Software

[10 1

1

45]

还是企业用的应用软件,绝大部分都是在Win7以及之前的操作系

(Al

User*)

irrtelTraceProfiefProxy

(150

18198

01)统平台上开发的,因此在新的操作系统下的兼容问题无法避免,有

SlectAI

|

£tefAl

|Remove

I

Egl些专业性很强的应用软件厂家可能已经停止服务,但是这些软件仍

在被大量用户所使用,经过合理的设置使这些软件能够在新的系统

图5中正常运行,具有非常大的现实意义,实际应用中存在的兼容问题

处理方法还有很多(比如可考虑WinlO系统加载虚拟机方式等),

Windows

DEP(Data

Execution

Prevention)功能简称"数据执

不同的软件处理方法也不尽相同,本文仅抛砖引玉,供大家参考。行保护”,是Windows系统的一项安全机制。此功能在系统中有2

个选项,初装系统后,默认选项为“仅为基本windows程序和服务

参考文献启用DEP”,当安装一些软件后,默认选项可能会被修改,从而造

[1]郭建伟.顺畅更新Windows

10

[J].网络安全和信息

成第三方软件运行异常。因此,当软件运行出现兼容问题时,可检

化,2018,

(4):

99-100.测此参数设置,如果发现其设置并非默认选项,可尝试恢复为系统

默认,此项设置后需要重启系统生效。作者简介具体的设置方法是:马雪婷(

2000-),女,吉林大学计算机科学与技术学院计算机科

鼠标右键点桌面“此电脑”图标•“属性”•“高级系统设置”■“性

学与技术(网络与信息安全)专业本科生。59