我有一个应用程序需要检查各种系统 EXE 和 DLL 的版本以确定它们是否易受攻击。这是一个本机 C++ 应用程序,它在其清单中不提供任何特定的 WinSxS 链接。在 Windows 7 上,当我在绝对路径(例如“c:\windows\system32\taskeng.exe”)上调用 GetFileVersionInfo 时,我收到“C:\Windows\winsxs\x86_microsoft-windows-taskscheduler-engine_31bf3856ad364e35_6. 1.7600.16385_none_e582a352202e02c8\taskeng.exe"
因此,澄清一下,Windows Explorer 报告的版本 c:\windows\system32\taskeng.exe 是 6.1.7600.16699。GetFileVersionInfo() 报告的 c:\windows\system32\taskeng.exe 版本为 6.1.7600.16385。
如何强制我的应用程序不通过 WinSxS 重定向其文件?