diff --git a/scripts/buildsystems/msbuild/vcpkg-general.xml b/scripts/buildsystems/msbuild/vcpkg-general.xml
index af45f5ca722df5..2222fb3a768b61 100644
--- a/scripts/buildsystems/msbuild/vcpkg-general.xml
+++ b/scripts/buildsystems/msbuild/vcpkg-general.xml
@@ -73,6 +73,10 @@
Description="The location where headers and binaries will be consumed from. In manifest mode, this directory will be created and populated based on vcpkg.json.">
+
+
+
diff --git a/scripts/buildsystems/msbuild/vcpkg.targets b/scripts/buildsystems/msbuild/vcpkg.targets
index 23ddb192ca6625..7045dc4b881dc8 100644
--- a/scripts/buildsystems/msbuild/vcpkg.targets
+++ b/scripts/buildsystems/msbuild/vcpkg.targets
@@ -17,11 +17,17 @@
<_ZVcpkgInstalledDir>$(VcpkgInstalledDir)
+
+ <_ZVcpkgInstalledDirRoot>$(VcpkgInstalledDirRoot)
+ <_ZVcpkgInstalledDirRoot Condition="'$(_ZVcpkgInstalledDirRoot)' == ''">$(_ZVcpkgManifestRoot)vcpkg_installed\
+
+
<_ZVcpkgRoot Condition="!$(_ZVcpkgRoot.EndsWith('\'))">$(_ZVcpkgRoot)\
<_ZVcpkgManifestRoot Condition="'$(_ZVcpkgManifestRoot)' != '' and !$(_ZVcpkgManifestRoot.EndsWith('\'))">$(_ZVcpkgManifestRoot)\
<_ZVcpkgInstalledDir Condition="'$(_ZVcpkgInstalledDir)' != '' and !$(_ZVcpkgInstalledDir.EndsWith('\'))">$(_ZVcpkgInstalledDir)\
+ <_ZVcpkgInstalledDirRoot Condition="'$(_ZVcpkgInstalledDirRoot)' != '' and !$(_ZVcpkgInstalledDirRoot.EndsWith('\'))">$(_ZVcpkgInstalledDirRoot)\
@@ -76,7 +82,7 @@
- <_ZVcpkgInstalledDir Condition="'$(_ZVcpkgInstalledDir)' == ''">$(_ZVcpkgManifestRoot)vcpkg_installed\$(VcpkgTriplet)\
+ <_ZVcpkgInstalledDir Condition="'$(_ZVcpkgInstalledDir)' == ''">$(_ZVcpkgInstalledDirRoot)$(VcpkgTriplet)\