自Windows 2000徽标要求以来,微软一直要求应用程序作为标准用户运行。像其他人一样,我总是将我的桌面设置为管理员用户。并且像每个开发人员一样:我以管理员身份登录、开发、运行和测试。
现在,由于对标准用户的最终支持推动,我一直在测试我的应用程序,通过以普通用户身份运行它们-或者通过RunAs,或者使用[ SaferCreateLevel ] / [ SaferComputeTokenFromLevel ](如果检测到它正在以管理员身份运行,则重新启动具有正常权限的应用程序)。我很快就看到了一些应用程序在Windows XP下作为标准用户时失败的情况(由于我的愚蠢)。我还看到了相同的应用程序在Vista下工作良好(感谢它的众多修复错误的垫片)。
另外:讽刺的是,应用程序更有可能在Vista上作为标准用户运行,而不是在XP上。
问题是,您是否测试您的应用程序以适配标准用户?您是否在XP上以标准用户身份进行开发?您是否忽略标准用户访问并希望一切顺利?
我尝试作为奖励,使我的应用程序重新启动自己作为有限用户(而不是正常用户)。它甚至无法启动- Windows说它无法初始化。因此,这是我未来研究的一个领域:使应用程序支持有限用户。
我特别提到了XP上的标准用户,而不是Vista,以强调Vista与兼容性相关的问题与XP没有任何区别。任何说他们的应用程序在Vista上失败的人必须意识到它也在XP上失败。