diff --git a/src/Layout/redist/dnx b/src/Layout/redist/dnx
new file mode 100755
index 000000000000..e9e6823e10ad
--- /dev/null
+++ b/src/Layout/redist/dnx
@@ -0,0 +1,2 @@
+#!/bin/sh
+"$(dirname "$0")/dotnet" dnx "$@"
diff --git a/src/Layout/redist/dnx.cmd b/src/Layout/redist/dnx.cmd
new file mode 100644
index 000000000000..16aa653df873
--- /dev/null
+++ b/src/Layout/redist/dnx.cmd
@@ -0,0 +1,2 @@
+@echo off
+"%~dp0dotnet.exe" dnx %*
diff --git a/src/Layout/redist/targets/GenerateInstallerLayout.targets b/src/Layout/redist/targets/GenerateInstallerLayout.targets
index c69666ecbe06..ff1f5cb1345d 100644
--- a/src/Layout/redist/targets/GenerateInstallerLayout.targets
+++ b/src/Layout/redist/targets/GenerateInstallerLayout.targets
@@ -64,6 +64,17 @@
Overwrite="true" />
+
+
+ dnx.cmd
+ dnx
+
+
+
+
+
+
+
@@ -81,6 +92,7 @@
LayoutManifests;
LayoutBaselineWorkloadSet;
LayoutWorkloadUserLocalMarker;
+ LayoutDnxScript;
CrossgenLayout;
ReplaceBundledRuntimePackFilesWithSymbolicLinks"
AfterTargets="AfterBuild" />
@@ -101,6 +113,10 @@
DestinationFiles="@(SdkOutputFile -> '$(IntermediateSdkInstallerOutputPath)sdk\$(Version)\%(RecursiveDir)%(Filename)%(Extension)')"
UseHardLinksIfPossible="true"
SkipUnchangedFiles="true" />
+
+
+
+
diff --git a/src/Layout/redist/targets/GenerateLayout.targets b/src/Layout/redist/targets/GenerateLayout.targets
index 2560cc533d93..23b6d6a0f5c2 100644
--- a/src/Layout/redist/targets/GenerateLayout.targets
+++ b/src/Layout/redist/targets/GenerateLayout.targets
@@ -278,9 +278,6 @@
DestinationFiles="$(OutputPath)/%(BundledTools.Identity).runtimeconfig.json"
SkipUnchangedFiles="true" />
-
-