最近碰到一个配置文件的问题,简单的说,就是:自己开发的一个程序,修改配置文件之后,没有生效。
这个问题,对于程序的开发和维护人员来说比较常见,原因很多,今天要说的,是UAC的原因。
本文开头所说的情况,具体是这样的:我们项目组开发的程序,原来都是运行在Windows 2003上的,最近打算迁移到Windows 2008,某天,我用非Administrator用户(仍属于Administrators组)登录之后,用记事本修改了exe文件的配置文件,双击运行之后,更改的配置没有生效;但是当我在exe上点右键“以管理员身份运行”,则更改的配置生效。
如此诡异的现象,当然不能放过。查阅资料后才明白是UAC的原因。
解决上述问题的简单方法是“以管理员身份运行”,操作起来稍微复杂一点;或者禁用UAC,不过要牺牲系统安全性。
更有效的方法比较复杂,需要了解UAC的方方面面,这里列出一点资料,供参考: