问题-[Delphi]提示Can't load package:dclite70.bpl解决方法

时间:2020-11-27 10:53:35

问题现象:提示Can't load package:dclite70.bpl

问题原因:全是Window2003的Data Execution Prevention(DEF数据执行保护)造成的。

解决方法:

win2003server SP1 + delphi7 ,在启动DELPHI时会提示Can't load package:dclite70.bpl,进入后打开Options时出现异常。

解决方法:

右击“我的电脑”。单击“属性”。

在“系统属性”中单击“高级”。

在“性能”中单击“设置”。

在“性能选项”中单击“数据执行保护”。

单击“添加”。选择Delphi7安装目录,然后到Bin目录下选择Delphi32.exe。

应用重启DELPHI即可。

 

PS: 

引用

数据执行保护 (DEP) 是 Microsoft Windows XP Service Pack 2 (SP2) /Windows2003支持的一种处理器功能,它禁止在标记为数据存储的内存区域中执行代码。此功能也称作“不执行”和“执行保护”。当尝试运行标记的数据页中的代码时,就会立即发生异常并禁止执行代码。这可以防止攻击者使用代码致使数据缓冲区溢出,然后执行该代码。数据执行保护 (DEP) 有助于防止病毒和其他安全威胁造成破坏,它们的攻击方法是从只有 Windows 和其他程序可以使用的内存位置执行恶意代码。

也就是说,这个DEF数据执行保护是MS为了防范其系统中不知哪处的漏洞而被攻击者利用来制造数据缓冲区溢出而达到攻击入侵的目的的。而默认是执行保护的,所以给Delphi7造成这个错误。