Pages

Saturday, 5 May 2012

用 Microsoft Application Compatibility Toolkit 管教不规矩的程序


作为一个 UAC 和 sudo 爱好者,应用程序就应该乖乖的,该干嘛干嘛。老是有些游戏或者别的什么大言不惭的在安装说明叫你关掉 UAC,这一类要么是技术不好要么就是人品不好。今天就碰到一个。家里人要在网上打打麻将斗斗地主什么的,朋友们都在玩一个叫什么 JJ比赛 的游戏,类似于腾讯的游戏大厅的东东。官网提供安装版和所谓绿色版,但是不管哪个版,只要一运行,UAC 提示框就会跳出来。我就纳闷了,一个游戏,要管理员权限干什么,而且我电脑上不是所有账户都有管理员权限。顺手看看到底是怎么回事:

看来不是 Windows 自动进行了兼容性修改,而是赤果果的 RequireAdministrator。本来这种程序直接删除了事,这次不行了,于是祭出 Microsoft Application Compatibility Toolkit,是用于评估和改善应用程序的兼容性的,特别是针对 Vista 以后的 Windows。截图一枚:

关键设置是加一条 RunAsInvoker 的修改,这些都可以根据向导一步步生成,最后安装这个 fix 到系统数据库就行了。
嗯,现在放心多了,普通账户也可以运行了。完。
注:不是所有的兼容性问题都可以这样解决,比如有些程序用了高权限的 API,那就没办法降低权限了.

from http://blog.haohaolee.com/blog/2012/03/25/use-microsoft-application-compatibility-toolkit-to-limit-unruly-apps/