背景:
- 位于
C:\windows\Winsxs
文件夹中的 Windows 共享运行时库 - 在 Winsxs 中,有两个重要的子文件夹也位于
policies
和Manifests
- 除此之外,还有很多运行时程序集位于彼此的子文件夹中。
- 里面的所有子文件夹
Winsxs
并policies
具有相同的命名格式。
例如文件夹名称:
- 运行时间:
x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963e
- 政策:
x86_policy.9.0.Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_x-ww_b7353f75
据我所知,名称的第一部分 (x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1) 描述了程序集或策略的“processorArchitecture”( x86
)、“Name”( Microsoft.VC90.CRT
)、“publicKeyToken”( 1fc8b3b9a1e18e3b
) 和“Version”( 9.0.30729.1
)。
问题:x-ww_6f74963e
assembly( ) 或 policy( x-ww_b7353f75
) 文件夹名称
的最后一部分描述了什么?
好的,这是最初的问题(但故事很长)。我在 Windows XP 计算机上部署了我的 C++ MFC 应用程序,该计算机以前安装了一些 C++ 重新分发包和一些运行时程序集的安全补丁。所以这些预装的 C++ 再分发包会自动在Winsxs/policies
. 这些策略强制使用新的运行时程序集,而不是我的应用程序使用和部署的程序集。但有时这些较新的 DLL 不存在,因为某些其他应用程序删除或程序集可能已损坏。所以我正在寻找一种方法来部署专门用于我的应用程序的运行时程序集(这意味着我的应用程序必须使用它曾经部署的程序并忽略策略)。所以我认为子目录名称的最后一部分与应用程序的身份相关联。我需要找到它。