diff --git a/README.md b/README.md
index cf53ed8..d445cd0 100644
--- a/README.md
+++ b/README.md
@@ -34,7 +34,10 @@ To run a recipe script, click a link in the table below from your target machine
|Click link to run |Description |
|---------|---------|
-|Desktop App | Windows Desktop App Development (Visual Studio, Windows SDK) |
+|Full Desktop App | Windows Desktop App Development (Visual Studio, Windows SDK, C++, UWP, .NET (WPF and Winforms)) |
+|UWP Desktop App | Windows Desktop App Development (Visual Studio, Windows SDK, UWP) |
+|.NET Desktop App | Windows Desktop App Development (Visual Studio, Windows SDK, .NET (WPF and Winforms)) |
+|C++ Desktop App | Windows Desktop App Development (Visual Studio, Windows SDK, C++) |
|Web | Web (VS Code, WSL, Multiple Browsers) |
|Web NodeJS | Web Dev with NodeJS (Web + NodeJS LTS)ยน |
|Machine Learning Windows| Machine Learning with only Windows native tools |
diff --git a/dev_app.ps1 b/dev_app.ps1
index 2f77c99..f59f27e 100644
--- a/dev_app.ps1
+++ b/dev_app.ps1
@@ -1,51 +1,54 @@
-# Description: Boxstarter Script
-# Author: Microsoft
-# Common dev settings for desktop app development
-
-Disable-UAC
-
-# Get the base URI path from the ScriptToCall value
-$bstrappackage = "-bootstrapPackage"
-$helperUri = $Boxstarter['ScriptToCall']
-$strpos = $helperUri.IndexOf($bstrappackage)
-$helperUri = $helperUri.Substring($strpos + $bstrappackage.Length)
-$helperUri = $helperUri.TrimStart("'", " ")
-$helperUri = $helperUri.TrimEnd("'", " ")
-$helperUri = $helperUri.Substring(0, $helperUri.LastIndexOf("/"))
-$helperUri += "/scripts"
-write-host "helper script base URI is $helperUri"
-
-function executeScript {
- Param ([string]$script)
- write-host "executing $helperUri/$script ..."
- iex ((new-object net.webclient).DownloadString("$helperUri/$script"))
-}
-
-#--- Setting up Windows ---
-executeScript "SystemConfiguration.ps1";
-executeScript "FileExplorerSettings.ps1";
-executeScript "RemoveDefaultApps.ps1";
-executeScript "CommonDevTools.ps1";
-
-#--- Tools ---
-#--- Installing VS and VS Code with Git
-# See this for install args: https://chocolatey.org/packages/VisualStudio2017Community
-# https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-community
-# https://docs.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio#list-of-workload-ids-and-component-ids
-# visualstudio2017community
-# visualstudio2017professional
-# visualstudio2017enterprise
-
-choco install visualstudio2017community -y --package-parameters "--add Microsoft.VisualStudio.Component.Git"
-Update-SessionEnvironment #refreshing env due to Git install
-
-#--- UWP Workload and installing Windows Template Studio ---
-choco install -y visualstudio2017-workload-azure
-choco install -y visualstudio2017-workload-universal
-executeScript "WindowsTemplateStudio.ps1";
-executeScript "GetUwpSamplesOffGithub.ps1";
-
-#--- reenabling critial items ---
-Enable-UAC
-Enable-MicrosoftUpdate
-Install-WindowsUpdate -acceptEula
\ No newline at end of file
+# Description: Boxstarter Script
+# Author: Microsoft
+# Common dev settings for desktop app development
+
+Disable-UAC
+
+# Get the base URI path from the ScriptToCall value
+$bstrappackage = "-bootstrapPackage"
+$helperUri = $Boxstarter['ScriptToCall']
+$strpos = $helperUri.IndexOf($bstrappackage)
+$helperUri = $helperUri.Substring($strpos + $bstrappackage.Length)
+$helperUri = $helperUri.TrimStart("'", " ")
+$helperUri = $helperUri.TrimEnd("'", " ")
+$helperUri = $helperUri.Substring(0, $helperUri.LastIndexOf("/"))
+$helperUri += "/scripts"
+write-host "helper script base URI is $helperUri"
+
+function executeScript {
+ Param ([string]$script)
+ write-host "executing $helperUri/$script ..."
+ iex ((new-object net.webclient).DownloadString("$helperUri/$script"))
+}
+
+#--- Setting up Windows ---
+executeScript "SystemConfiguration.ps1";
+executeScript "FileExplorerSettings.ps1";
+executeScript "RemoveDefaultApps.ps1";
+executeScript "CommonDevTools.ps1";
+
+#--- Tools ---
+#--- Installing VS and VS Code with Git
+# See this for install args: https://chocolatey.org/packages/VisualStudio2017Community
+# https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-community
+# https://docs.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio#list-of-workload-ids-and-component-ids
+# visualstudio2017community
+# visualstudio2017professional
+# visualstudio2017enterprise
+
+choco install visualstudio2017community -y --package-parameters "--add Microsoft.VisualStudio.Component.Git"
+Update-SessionEnvironment #refreshing env due to Git install
+
+#--- UWP Workload and installing Windows Template Studio ---
+choco install -y visualstudio2017-workload-azure
+choco install -y visualstudio2017-workload-universal
+choco install -y visualstudio2017-workload-manageddesktop
+choco install -y visualstudio2017-workload-nativedesktop
+
+executeScript "WindowsTemplateStudio.ps1";
+executeScript "GetUwpSamplesOffGithub.ps1";
+
+#--- reenabling critial items ---
+Enable-UAC
+Enable-MicrosoftUpdate
+Install-WindowsUpdate -acceptEula
diff --git a/dev_app_desktop_.NET.ps1 b/dev_app_desktop_.NET.ps1
new file mode 100644
index 0000000..1b20cc5
--- /dev/null
+++ b/dev_app_desktop_.NET.ps1
@@ -0,0 +1,49 @@
+# Description: Boxstarter Script
+# Author: Microsoft
+# Common dev settings for desktop app development
+
+Disable-UAC
+
+# Get the base URI path from the ScriptToCall value
+$bstrappackage = "-bootstrapPackage"
+$helperUri = $Boxstarter['ScriptToCall']
+$strpos = $helperUri.IndexOf($bstrappackage)
+$helperUri = $helperUri.Substring($strpos + $bstrappackage.Length)
+$helperUri = $helperUri.TrimStart("'", " ")
+$helperUri = $helperUri.TrimEnd("'", " ")
+$helperUri = $helperUri.Substring(0, $helperUri.LastIndexOf("/"))
+$helperUri += "/scripts"
+write-host "helper script base URI is $helperUri"
+
+function executeScript {
+ Param ([string]$script)
+ write-host "executing $helperUri/$script ..."
+ iex ((new-object net.webclient).DownloadString("$helperUri/$script"))
+}
+
+#--- Setting up Windows ---
+executeScript "SystemConfiguration.ps1";
+executeScript "FileExplorerSettings.ps1";
+executeScript "RemoveDefaultApps.ps1";
+executeScript "CommonDevTools.ps1";
+
+#--- Tools ---
+#--- Installing VS and VS Code with Git
+# See this for install args: https://chocolatey.org/packages/VisualStudio2017Community
+# https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-community
+# https://docs.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio#list-of-workload-ids-and-component-ids
+# visualstudio2017community
+# visualstudio2017professional
+# visualstudio2017enterprise
+
+choco install visualstudio2017community -y --package-parameters "--add Microsoft.VisualStudio.Component.Git"
+Update-SessionEnvironment #refreshing env due to Git install
+
+#--- UWP Workload and installing Windows Template Studio ---
+choco install -y visualstudio2017-workload-azure
+choco install -y visualstudio2017-workload-manageddesktop
+
+#--- reenabling critial items ---
+Enable-UAC
+Enable-MicrosoftUpdate
+Install-WindowsUpdate -acceptEula
\ No newline at end of file
diff --git a/dev_app_desktop_cplusplus.ps1 b/dev_app_desktop_cplusplus.ps1
new file mode 100644
index 0000000..11a15ce
--- /dev/null
+++ b/dev_app_desktop_cplusplus.ps1
@@ -0,0 +1,49 @@
+# Description: Boxstarter Script
+# Author: Microsoft
+# Common dev settings for desktop app development
+
+Disable-UAC
+
+# Get the base URI path from the ScriptToCall value
+$bstrappackage = "-bootstrapPackage"
+$helperUri = $Boxstarter['ScriptToCall']
+$strpos = $helperUri.IndexOf($bstrappackage)
+$helperUri = $helperUri.Substring($strpos + $bstrappackage.Length)
+$helperUri = $helperUri.TrimStart("'", " ")
+$helperUri = $helperUri.TrimEnd("'", " ")
+$helperUri = $helperUri.Substring(0, $helperUri.LastIndexOf("/"))
+$helperUri += "/scripts"
+write-host "helper script base URI is $helperUri"
+
+function executeScript {
+ Param ([string]$script)
+ write-host "executing $helperUri/$script ..."
+ iex ((new-object net.webclient).DownloadString("$helperUri/$script"))
+}
+
+#--- Setting up Windows ---
+executeScript "SystemConfiguration.ps1";
+executeScript "FileExplorerSettings.ps1";
+executeScript "RemoveDefaultApps.ps1";
+executeScript "CommonDevTools.ps1";
+
+#--- Tools ---
+#--- Installing VS and VS Code with Git
+# See this for install args: https://chocolatey.org/packages/VisualStudio2017Community
+# https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-community
+# https://docs.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio#list-of-workload-ids-and-component-ids
+# visualstudio2017community
+# visualstudio2017professional
+# visualstudio2017enterprise
+
+choco install visualstudio2017community -y --package-parameters "--add Microsoft.VisualStudio.Component.Git"
+Update-SessionEnvironment #refreshing env due to Git install
+
+#--- UWP Workload and installing Windows Template Studio ---
+choco install -y visualstudio2017-workload-azure
+choco install -y visualstudio2017-workload-nativedesktop
+
+#--- reenabling critial items ---
+Enable-UAC
+Enable-MicrosoftUpdate
+Install-WindowsUpdate -acceptEula
\ No newline at end of file
diff --git a/dev_app_desktop_uwp.ps1 b/dev_app_desktop_uwp.ps1
new file mode 100644
index 0000000..55ff97a
--- /dev/null
+++ b/dev_app_desktop_uwp.ps1
@@ -0,0 +1,51 @@
+# Description: Boxstarter Script
+# Author: Microsoft
+# Common dev settings for desktop app development
+
+Disable-UAC
+
+# Get the base URI path from the ScriptToCall value
+$bstrappackage = "-bootstrapPackage"
+$helperUri = $Boxstarter['ScriptToCall']
+$strpos = $helperUri.IndexOf($bstrappackage)
+$helperUri = $helperUri.Substring($strpos + $bstrappackage.Length)
+$helperUri = $helperUri.TrimStart("'", " ")
+$helperUri = $helperUri.TrimEnd("'", " ")
+$helperUri = $helperUri.Substring(0, $helperUri.LastIndexOf("/"))
+$helperUri += "/scripts"
+write-host "helper script base URI is $helperUri"
+
+function executeScript {
+ Param ([string]$script)
+ write-host "executing $helperUri/$script ..."
+ iex ((new-object net.webclient).DownloadString("$helperUri/$script"))
+}
+
+#--- Setting up Windows ---
+executeScript "SystemConfiguration.ps1";
+executeScript "FileExplorerSettings.ps1";
+executeScript "RemoveDefaultApps.ps1";
+executeScript "CommonDevTools.ps1";
+
+#--- Tools ---
+#--- Installing VS and VS Code with Git
+# See this for install args: https://chocolatey.org/packages/VisualStudio2017Community
+# https://docs.microsoft.com/en-us/visualstudio/install/workload-component-id-vs-community
+# https://docs.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio#list-of-workload-ids-and-component-ids
+# visualstudio2017community
+# visualstudio2017professional
+# visualstudio2017enterprise
+
+choco install visualstudio2017community -y --package-parameters "--add Microsoft.VisualStudio.Component.Git"
+Update-SessionEnvironment #refreshing env due to Git install
+
+#--- UWP Workload and installing Windows Template Studio ---
+choco install -y visualstudio2017-workload-azure
+choco install -y visualstudio2017-workload-universal
+executeScript "WindowsTemplateStudio.ps1";
+executeScript "GetUwpSamplesOffGithub.ps1";
+
+#--- reenabling critial items ---
+Enable-UAC
+Enable-MicrosoftUpdate
+Install-WindowsUpdate -acceptEula
\ No newline at end of file