Windows 7在昨天迈过最后一个里程碑,进入了RTM阶段,接下来会陆续通过各种渠道进行分发,最终10月22日全面公开发售,也就是还有三个月的时间,我们就要迎来一个新时代了,那么,你手上的各种程序软件是否已经准备好入驻Windows 7了呢?
从Windows XP/Vista过渡到Windows 7,从应用程序角度讲至少要做到以下三个方面:
1、确保与Windows 7兼容
2、优化在Windows 7下的体验与性能
3、利用Windows 7提供的新特性
下边逐一来看:
1、确保应用程序与Windows 7兼容
在Vista发布之初,软件兼容性困扰了不少人,后期虽大有改善但留下的负面影响已经很难消除。幸运的是,Windows 7没有在内核级别上做大规模变动,所以如果你的软件在Windows Vista下运行正常(包括设备驱动程序),那几乎就可以放心换到新系统下了。按照微软的说法,这个概率基本能达到99%。
但如果你的程序是为Windows XP甚至Windows 2000设计的,在Vista下都存在问题,就不要指望能直接转向Windows 7了,必须进行更新,或者试试兼容模式。
需要特别指出的是,兼容性并不仅仅是操作系统的责任,更是软件自己的问题。总不能指望Windows 7去全面支持五六年前的老软件吧?所以在抱怨新系统兼容性之前,不妨先看看软件本身是不是该做些什么。
以下是软件兼容性问题最多的七个方面:
(1)、版本检查
目前为止的头号问题。有没有在Windows 7里运行软件的时候看到错误提示说“需要Windows XP或更高版本的操作系统”?如果是的话那你就碰伤版本检查问题了。
参考资料:
http://msdn.microsoft.com/en-us/library/bb756927.aspx
(2)、数据重定向
从Vista开始,标准用户对特定文件、文件夹、注册表键值的访问受到了限制。如果软件试图写入这些区域,就会被拒绝并重定向其它地方。大部分情况下,这个过程对用户和程序员来说都是透明的,但偶尔也会不透明,这时候问题就来了。
参考资料:
http://support.microsoft.com/kb/927387
(3)、IE保护模式
还是从Vista开始,IE默认运行在较低权限下,使得部分ActiveX控件无法再正常运行。Windows 7和IE8同样如此。
参考资料:
http://blogs.msdn.com/ie/archive/2006/02/09/528963.aspx
(4)、Session 0隔离
Vista下的系统服务运行在属于自己的Session 0级别里,与用户所在的Session 1或更高级别相隔离。这是操作系统的一种安全界线保护手段,可以避免很多针对系统底层的恶意攻击,只不过在安全性提高的同事,应用程序和系统服务之间的沟通也容易出问题,必须充分考虑。
参考资料:
http://blogs.msdn.com/cjacks/archive/2006/10/24/modifying-the-mandatory-integrity-level-for-a-securable-object-in-windows-vista.aspx
(5)、安装程序检测
从Vista开始,系统会自动检测某个应用程序是否需要安装,是的话就代表该程序要求提升为管理员权限,再加上新引入的UAC功能,软件安装就容易不太顺利了。
参考资料:
http://msdn.microsoft.com/en-us/library/aa905330.aspx
(6)、用户界面权限隔离
这可以阻止程序(进程)以较高权限向其它进程发送消息,即使它们运行在同一账户之下。这种安全保护手段同样既阻挡了恶意攻击,也会破坏一些程序的正常运行。
(7)、高DPI
Windows 7在安装过程中就会自动检测用户的显示器是否支持高DPI,是的话就自动启用。如果程序不支持高DPI,就可能会出现显示问题。
参考资料:
http://msdn.microsoft.com/en-us/library/dd756693(VS.85).aspx