Это по замыслу, я считаю.
Microsoft позволяет разработчикам перераспределять компоненты / .dll, поставляемые с Visual Studio, такие как среды выполнения, связанные с Visual Basic, и т. Д. Поэтому для многих программ Windows нетипично иметь конкретные версии .dll, от которых они зависят, в своих собственных каталогах приложений, и необходимо использовать эту версию поверх более поздней версии, которая может быть установлена в системе.
У меня есть предположение, что во время установки Windows может сопоставить имена программных файлов с известными местоположениями .dll (это может даже быть частью службы «Superfetch») и, следовательно, не искать их или даже предварительно загружать их. Держу пари, что-то подобное происходит. Не уверен, как его выключить, хотя.