我目前正在测试一个符合Windows 7软件徽标的.NET 2.0客户端应用程序(“与Windows 7兼容”的东西)并得到一个令我感到困惑的奇怪结果。
Windows 7软件徽标工具包测试返回时发出警告“应用程序未通过多用户会话合规性检查”,然后提供了一堆我无法解密的奇怪消息。
这对我来说更奇怪,因为应用程序在同一台机器上运行多个用户(使用快速用户切换等)时运行正常,并且在测试期间或在测试期间从未产生过这样的错误使用。只有当我运行Windows 7软件徽标工具包时才会收到这些消息,并且只能从工具包的日志/报告本身开始。
以下是它的回复示例:
警告:访问仅限于提升的进程.OpenProcessToken:Token()仅允许具有高强制完整性的提升进程进行“TOKEN_QUERY”访问label6d3d22a8 - 对象类型6d3d34c0 - 对象名称8 - 拒绝访问Bit6d3d4f90 - 字符串拒绝访问BitvfLogoLuaPriv!+ 6d3d780d(@ 0)vfLogoLuaPriv!+ 6d3d7f23(@ 0)vfLogoLuaPriv!+ 6d3d7f9a(@ 0)vfLogoLuaPriv!+ 6d3d81dd(@ 0)vfLogoLuaPriv!+ 6d3e0769(@ 0)SHELL32!Shell_GetCachedImageIndexW + 88b5(@ 0)SHELL32!Shell_GetCachedImageIndexW + 893a(@ 0)SHELL32!Shell_GetCachedImageIndexW + 81ad(@ 0)SHELL32!Shell_GetCachedImageIndexW + 78bb(@ 0)SHELL32!DllGetClassObject + b5e(@ 0)SHELL32!DllGetClassObject + a46(@ 0)SHELL32!SHGetFolderPathEx + 2c(@ 0)SHELL32!SHGetFolderPathW + ce(@ 0)vf_rdvcompat!+ 71de4f32(@ 0)vf_rdvcompat!+ 71de509d(@ 0)verifier!VerifierGetProviderHelper + 63c0(@ 0)vrfcore!VerifierTlsSetValue + 4bb(@ 0)ntdll !RtlCreateProcessParametersEx + b58(@ 0)ntdll!RtlDestroyProcessParameters + 409(@ 0 )ntdll!RtlCompactHeap + 43c(@ 0)ntdll!LdrGetProcedureAddress + 94a4(@ 0)ntdll!RtlResetRtlTranslations + c63(@ 0)ntdll!LdrInitializeThunk + e(@ 0)
其他一些(截断以饶舌):
警告:访问仅限于提升的进程.OpenProcess:进程(pid 0x00001780)仅允许具有高强制完整性的提升进程进行“PROCESS_QUERY_INFORMATION”访问
警告:在受限制的名称空间中打开/创建对象.CreateFileMappingW:“全局\ Cor_Private_IPCBlock_6016”部分位于受限名称空间(全局)6d3d2590
我正在测试的应用程序是一个相当简单的.NET 2.0应用程序,它没有做任何奇怪的事情(我能想到)...我不使用任何奇怪的P / Invoke调用或任何东西。
我不知道为什么软件徽标工具包测试会给我回复此警告,它来自何处以及原因。
我的Win32编程技巧有点生疏,所以我甚至不确定从哪里开始寻找这些消息的来源。有没有人有任何想法,线索,建议或提示,从哪里开始或尝试深入了解这一点,以便我可以找出我必须做错的事情来产生这个警告?
答案 0 :(得分:0)
好的,看起来这就是Win7徽标工具包从我运行测试时正在运行的其他后台进程中获取的东西。 (我想这就是为什么他们告诉你在一台“干净”的机器上做这件事 - 当然我没有。)