diff --git a/dev_app.ps1 b/dev_app.ps1 index bedad108..4fae5923 100644 --- a/dev_app.ps1 +++ b/dev_app.ps1 @@ -4,67 +4,41 @@ Disable-UAC -#--- Windows Subsystems/Features --- -#choco install -y Microsoft-Windows-Subsystem-Linux -source windowsfeatures -#choco install -y Microsoft-Hyper-V-All -source windowsFeatures -#choco install -y sysinternals -#choco install -y docker-for-windows - -#--- Configuring Windows properties --- -#--- Windows Features --- -Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions - -#--- File Explorer Settings --- -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Value 1 -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneShowAllFolders -Value 1 -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Value 1 -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name MMTaskbarMode -Value 2 - -#--- Enabling developer mode on the system --- -Set-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\AppModelUnlock -Name AllowDevelopmentWithoutDevLicense -Value 1 - -#--- VS 2017 uwp and azure workloads + git tools --- +# see if we can't get calling URL somehow, that would eliminate this need +# should move to a config file +$user = "Microsoft"; +$baseBranch = "BreakUpScripts"; +$finalBaseHelperUri = "https://raw.githubusercontent.com/$user/windows-dev-box-setup-scripts/$baseBranch/scripts"; + +function executeScript { + Param ([string]$script) + write-host "executing $finalBaseHelperUri/$script ..." + iex ((new-object net.webclient).DownloadString("$finalBaseHelperUri/$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 -choco install visualstudio2017community --package-parameters "--add Microsoft.VisualStudio.Workload.Azure --add Microsoft.VisualStudio.Component.Git" -RefreshEnv - -choco install visualstudio2017-workload-universal - -#--- grabbing latest UWP Samples off Github --- -RefreshEnv -cd $env:USERPROFILE\desktop -mkdir UwpSamples -cd UwpSamples -git clone https://github.com/Microsoft/Windows-universal-samples/ - -# installing Windows Template Studio VSIX -#choco was claiming dev 15 can't do this anymore for vsix... odd hasn't been fixed yet -#Install-ChocolateyVsixPackage -PackageName "Windows Template Studio" -VsixUrl $wtsFileUrl.source - -$requestUri = 'https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery' -$requestBody = '{"flags":"262","filters":[{"criteria":[{"filterType":"10","value":"windows template studio"}],"sortBy":"0","sortOrder":"2","pageSize":"25","pageNumber":"1"}]}' -$requestHeaders = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" -$requestHeaders.Add('Accept','application/json; api-version=3.2-preview.1') -$requestHeaders.Add('Content-Type','application/json; charset=utf-8') - -$results = Invoke-WebRequest -Uri $requestUri -Method POST -Headers $requestHeaders -Body $requestBody -UseBasicParsing - -$jsonResults = $results.Content | ConvertFrom-Json -$wtsResults = $jsonResults.results[0].extensions | where {$_.extensionName -eq "WindowsTemplateStudio"} -$wtsFileUrl = $wtsResults.versions[0].files | where {$_.assetType -eq "Microsoft.Templates.2017.vsix"} - -$wtsVsix = [System.IO.Path]::GetFileName($wtsFileUrl.source) -$wtsFullPath = [System.IO.Path]::Combine((Resolve-Path .\).Path, $wtsVsix); -Invoke-WebRequest -Uri $wtsFileUrl.source -OutFile $wtsVsix -$vsixInstallerFile = Get-Childitem -Include vsixinstaller.exe -Recurse -Path "C:\Program Files (x86)\Microsoft Visual Studio\2017\" -$wtsArgList = $wtsFullPath + " /q" - -$vsixInstallerResult = Start-Process -FilePath $vsixInstallerFile.FullName -ArgumentList $wtsArgList -Wait -PassThru; - -Remove-Item $wtsVsix - +# visualstudio2017community +# visualstudio2017professional +# visualstudio2017enterprise + +choco install visualstudio2017community -y --package-parameters "--add Microsoft.VisualStudio.Component.Git" +RefreshEnv #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 diff --git a/dev_ml_python.ps1 b/dev_ml_python.ps1 index b948f624..d535019d 100644 --- a/dev_ml_python.ps1 +++ b/dev_ml_python.ps1 @@ -4,43 +4,27 @@ Disable-UAC -#--- Windows Features --- -Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions - -#--- File Explorer Settings --- -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Value 1 -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneShowAllFolders -Value 1 -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Value 1 -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name MMTaskbarMode -Value 2 - -#--- Git --- -choco install -y git -params '"/GitAndUnixToolsOnPath /WindowsTerminal"' - -#--- Windows Subsystems/Features --- -choco install -y Microsoft-Hyper-V-All -source windowsFeatures -choco install -y Microsoft-Windows-Subsystem-Linux -source windowsfeatures - -#--- Ubuntu --- -# Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.appx -UseBasicParsing -# Add-AppxPackage -Path ~/Ubuntu.appx - -#--- Fonts --- -choco install -y inconsolata -# choco install -y ubuntu.font - -#--- Tools --- -choco install -y docker-for-windows -choco install -y python -choco install -y 7zip.install +# see if we can't get calling URL somehow, that would eliminate this need +# should move to a config file +$user = "Microsoft"; +$baseBranch = "BreakUpScripts"; +$finalBaseHelperUri = "https://raw.githubusercontent.com/$user/windows-dev-box-setup-scripts/$baseBranch/scripts"; + +function executeScript { + Param ([string]$script) + write-host "executing $finalBaseHelperUri/$script ..." + iex ((new-object net.webclient).DownloadString("$finalBaseHelperUri/$script")) +} + +#--- Setting up Windows --- +executeScript "SystemConfiguration.ps1"; +executeScript "FileExplorerSettings.ps1"; +executeScript "RemoveDefaultApps.ps1"; +executeScript "CommonDevTools.ps1"; +executeScript "VirtualizationTools.ps1"; # TODO: install additional ML tools -#--- VS Code --- -choco install -y vscode - -#--- VS Code extensions --- -choco install -y vscode-docker - Enable-UAC Enable-MicrosoftUpdate Install-WindowsUpdate -acceptEula diff --git a/dev_web.ps1 b/dev_web.ps1 index 03e9a291..f00d9179 100644 --- a/dev_web.ps1 +++ b/dev_web.ps1 @@ -1,49 +1,32 @@ # Description: Boxstarter Script # Author: Microsoft -# Common dev settings for web dev +# Common settings for web dev Disable-UAC -#--- Windows Features --- -Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions - -#--- File Explorer Settings --- -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Value 1 -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneShowAllFolders -Value 1 -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Value 1 -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name MMTaskbarMode -Value 2 +function executeScript { + Param ([string]$script) + write-host "executing $finalBaseHelperUri/$script ..." + iex ((new-object net.webclient).DownloadString("$finalBaseHelperUri/$script")) +} + +# see if we can't get calling URL somehow, that would eliminate this need +# should move to a config file +$user = "Microsoft"; +$baseBranch = "BreakUpScripts"; +$finalBaseHelperUri = "https://raw.githubusercontent.com/$user/windows-dev-box-setup-scripts/$baseBranch/scripts"; + +#--- Setting up Windows --- +executeScript "FileExplorerSettings.ps1"; +executeScript "SystemConfiguration.ps1"; +executeScript "CommonDevTools.ps1"; +executeScript "RemoveDefaultApps.ps1"; +executeScript "VirtualizationTools.ps1"; #--- Tools --- -choco install -y vscode code --install-extension msjsdiag.debugger-for-chrome code --install-extension msjsdiag.debugger-for-edge -choco install -y git -params '"/GitAndUnixToolsOnPath /WindowsTerminal"' -choco install -y 7zip.install - -#--- Windows Subsystems/Features --- -choco install -y Microsoft-Hyper-V-All -source windowsFeatures -choco install Microsoft-Windows-Subsystem-Linux -source windowsfeatures - -#--- Ubuntu --- -# Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.appx -UseBasicParsing -# Add-AppxPackage -Path ~/Ubuntu.appx - -<# -#--- SLES --- -# Install SLES Store app -Invoke-WebRequest -Uri https://aka.ms/wsl-sles-12 -OutFile ~/SLES.appx -UseBasicParsing -Add-AppxPackage -Path ~/SLES.appx -# Launch SLES -sles-12.exe - -# --- openSUSE --- -Invoke-WebRequest -Uri https://aka.ms/wsl-opensuse-42 -OutFile ~/openSUSE.appx -UseBasicParsing -Add-AppxPackage -Path ~/openSUSE.appx -# Launch openSUSE -opensuse-42.exe -#> - #--- Browsers --- choco install -y googlechrome choco install -y firefox @@ -51,15 +34,6 @@ choco install -y firefox #--- Microsoft WebDriver --- choco install -y microsoftwebdriver -#--- Fonts --- -choco install -y inconsolata -# choco install -y ubuntu.font - -#--- Tools --- -choco install -y sysinternals -choco install -y docker-for-windows -choco install -y python - Enable-UAC Enable-MicrosoftUpdate Install-WindowsUpdate -acceptEula diff --git a/dev_web_nodejs.ps1 b/dev_web_nodejs.ps1 index dcc0c125..41f9ec0d 100644 --- a/dev_web_nodejs.ps1 +++ b/dev_web_nodejs.ps1 @@ -1,49 +1,41 @@ # Description: Boxstarter Script # Author: Microsoft -# Common dev settings for web development +# Common settings for web development with NodeJS Disable-UAC -#--- Windows Features --- -Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions - -#--- File Explorer Settings --- -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Value 1 -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneShowAllFolders -Value 1 -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Value 1 -Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name MMTaskbarMode -Value 2 - -#--- Tools --- -choco install -y vscode -code --install-extension msjsdiag.debugger-for-chrome -code --install-extension msjsdiag.debugger-for-edge - -choco install -y git -params '"/GitAndUnixToolsOnPath /WindowsTerminal"' -choco install -y 7zip.install - -#--- Windows Subsystems/Features --- -choco install -y Microsoft-Hyper-V-All -source windowsFeatures -choco install -y Microsoft-Windows-Subsystem-Linux -source windowsfeatures - -#--- Ubuntu --- -# Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.appx -UseBasicParsing -# Add-AppxPackage -Path ~/Ubuntu.appx +# see if we can't get calling URL somehow, that would eliminate this need +# should move to a config file +$user = "Microsoft"; +$baseBranch = "BreakUpScripts"; +$finalBaseHelperUri = "https://raw.githubusercontent.com/$user/windows-dev-box-setup-scripts/$baseBranch/scripts"; + +function executeScript { + Param ([string]$script) + write-host "executing $finalBaseHelperUri/$script ..." + iex ((new-object net.webclient).DownloadString("$finalBaseHelperUri/$script")) +} + +#--- Setting up Windows --- +executeScript "SystemConfiguration.ps1"; +executeScript "FileExplorerSettings.ps1"; +executeScript "RemoveDefaultApps.ps1"; +executeScript "CommonDevTools.ps1"; +executeScript "VirtualizationTools.ps1"; #--- Browsers --- choco install -y Firefox choco install -y Googlechrome -#--- Fonts --- -choco install -y inconsolata -# choco install -y ubuntu.font +#--- Tools --- +code --install-extension msjsdiag.debugger-for-chrome +code --install-extension msjsdiag.debugger-for-edge #--- Tools --- choco install -y nodejs-lts # Node.js LTS, Recommended for most users # choco install -y nodejs # Node.js Current, Latest features choco install -y visualstudio2017buildtools choco install -y visualstudio2017-workload-vctools -choco install -y sysinternals -choco install -y docker-for-windows choco install -y python2 # Node.js requires Python 2 to build native modules Enable-UAC diff --git a/scripts/CommonDevTools.ps1 b/scripts/CommonDevTools.ps1 new file mode 100644 index 00000000..3248c886 --- /dev/null +++ b/scripts/CommonDevTools.ps1 @@ -0,0 +1,7 @@ + +# tools we expect devs across many scenarios will want +choco install -y vscode +choco install -y git -params '"/GitAndUnixToolsOnPath /WindowsTerminal"' +choco install -y python +choco install -y 7zip.install +choco install -y sysinternals diff --git a/scripts/FileExplorerSettings.ps1 b/scripts/FileExplorerSettings.ps1 new file mode 100644 index 00000000..9e06fa47 --- /dev/null +++ b/scripts/FileExplorerSettings.ps1 @@ -0,0 +1,15 @@ +#--- Configuring Windows properties --- +#--- Windows Features --- +# Show hidden files, Show protected OS files, Show file extensions +Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions + +#--- File Explorer Settings --- +# will expand explorer to the actual folder you're in +Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneExpandToCurrentFolder -Value 1 +#adds things back in your left pane like recycle bin +Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name NavPaneShowAllFolders -Value 1 +#opens PC to This PC, not quick access +Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name LaunchTo -Value 1 +#taskbar where window is open for multi-monitor +Set-ItemProperty -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced -Name MMTaskbarMode -Value 2 + diff --git a/scripts/GetUwpSamplesOffGithub.ps1 b/scripts/GetUwpSamplesOffGithub.ps1 new file mode 100644 index 00000000..5a7e8de2 --- /dev/null +++ b/scripts/GetUwpSamplesOffGithub.ps1 @@ -0,0 +1,5 @@ +RefreshEnv +cd $env:USERPROFILE\desktop +mkdir UwpSamples +cd UwpSamples +git clone https://github.com/Microsoft/Windows-universal-samples/ \ No newline at end of file diff --git a/scripts/RemoveDefaultApps.ps1 b/scripts/RemoveDefaultApps.ps1 new file mode 100644 index 00000000..4f64b2bb --- /dev/null +++ b/scripts/RemoveDefaultApps.ps1 @@ -0,0 +1,67 @@ +#--- Uninstall unecessary applications that come with Windows out of the box --- +Write-Host "Uninstall unecessary applications that come with Windows out of the box" -ForegroundColor "Yellow" + +#Referenced to build script +# https://docs.microsoft.com/en-us/windows/application-management/remove-provisioned-apps-during-update +# https://github.com/jayharris/dotfiles-windows/blob/master/windows.ps1#L157 +# https://gist.github.com/jessfraz/7c319b046daa101a4aaef937a20ff41f +# https://gist.github.com/alirobe/7f3b34ad89a159e6daa1 +# https://github.com/W4RH4WK/Debloat-Windows-10/blob/master/scripts/remove-default-apps.ps1 + +function removeApp { + Param ([string]$appName) + Write-Output "Trying to remove $appName" + Get-AppxPackage $appName -AllUsers | Remove-AppxPackage + Get-AppXProvisionedPackage -Online | Where DisplayNam -like $appName | Remove-AppxProvisionedPackage -Online +} + +$applicationList = @( + "Microsoft.BingFinance" + "Microsoft.3DBuilder" + "Microsoft.BingFinance" + "Microsoft.BingNews" + "Microsoft.BingSports" + "Microsoft.BingWeather" + "Microsoft.CommsPhone" + "Microsoft.Getstarted" + "Microsoft.WindowsMaps" + "*MarchofEmpires*" + "Microsoft.GetHelp" + "Microsoft.Messaging" + "*Minecraft*" + "Microsoft.MicrosoftOfficeHub" + "Microsoft.OneConnect" + "Microsoft.WindowsPhone" + "Microsoft.SkypeApp" + "Microsoft.WindowsSoundRecorder" + "*Solitaire*" + "Microsoft.MicrosoftStickyNotes" + "Microsoft.Office.Sway" + "Microsoft.XboxApp" + "Microsoft.XboxIdentityProvider" + "Microsoft.ZuneMusic" + "Microsoft.ZuneVideo" + "Microsoft.NetworkSpeedTest" + "Microsoft.FreshPaint" + "Microsoft.Print3D" + + #Non-Microsoft + "*Autodesk*" + "*BubbleWitch*" + "king.com.CandyCrush*" + "*Dell*" + "*Dropbox*" + "*Facebook*" + "*Keeper*" + "*Netflix*" + "*Twitter*" + "*Plex*" + "*.Duolingo-LearnLanguagesforFree" + "*.EclipseManager" + "ActiproSoftwareLLC.562882FEEB491" # Code Writer + "*.AdobePhotoshopExpress" +); + +foreach ($app in $applicationList) { + removeApp $app +} \ No newline at end of file diff --git a/scripts/SystemConfiguration.ps1 b/scripts/SystemConfiguration.ps1 new file mode 100644 index 00000000..e70b2dda --- /dev/null +++ b/scripts/SystemConfiguration.ps1 @@ -0,0 +1,4 @@ + + +#--- Enable developer mode on the system --- +Set-ItemProperty -Path HKLM:\Software\Microsoft\Windows\CurrentVersion\AppModelUnlock -Name AllowDevelopmentWithoutDevLicense -Value 1 diff --git a/scripts/VirtualizationTools.ps1 b/scripts/VirtualizationTools.ps1 new file mode 100644 index 00000000..c7305750 --- /dev/null +++ b/scripts/VirtualizationTools.ps1 @@ -0,0 +1,29 @@ + +choco install -y Microsoft-Windows-Subsystem-Linux -source windowsfeatures +choco install -y Microsoft-Hyper-V-All -source windowsFeatures +Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName Microsoft-Windows-Subsystem-Linux +Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName Microsoft-Hyper-V +choco install -y docker-for-windows +choco install -y vscode-docker + + +#--- Ubuntu --- +Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.appx -UseBasicParsing +Add-AppxPackage -Path ~/Ubuntu.appx + +<# +#--- SLES --- +# Install SLES Store app +Invoke-WebRequest -Uri https://aka.ms/wsl-sles-12 -OutFile ~/SLES.appx -UseBasicParsing +Add-AppxPackage -Path ~/SLES.appx +# Launch SLES +sles-12.exe + +# --- openSUSE --- +Invoke-WebRequest -Uri https://aka.ms/wsl-opensuse-42 -OutFile ~/openSUSE.appx -UseBasicParsing +Add-AppxPackage -Path ~/openSUSE.appx +# Launch openSUSE +opensuse-42.exe +#> + +# TODO: add tool installation inside Ubuntu \ No newline at end of file diff --git a/scripts/WindowsTemplateStudio.ps1 b/scripts/WindowsTemplateStudio.ps1 new file mode 100644 index 00000000..49132407 --- /dev/null +++ b/scripts/WindowsTemplateStudio.ps1 @@ -0,0 +1,26 @@ +# installing Windows Template Studio VSIX +Write-Host "Installing Windows Template Studio" -ForegroundColor "Yellow" + +$requestUri = "https://marketplace.visualstudio.com/_apis/public/gallery/extensionquery"; +$requestBody = '{"flags":"262","filters":[{"criteria":[{"filterType":"10","value":"windows template studio"}],"sortBy":"0","sortOrder":"2","pageSize":"25","pageNumber":"1"}]}'; +$requestHeaders = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"; +$requestHeaders.Add('Accept','application/json; api-version=3.2-preview.1'); +$requestHeaders.Add('Content-Type','application/json; charset=utf-8'); + +$results = Invoke-WebRequest -Uri $requestUri -Method POST -Headers $requestHeaders -Body $requestBody -UseBasicParsing; + +$jsonResults = $results.Content | ConvertFrom-Json; +$wtsResults = $jsonResults.results[0].extensions | where {$_.extensionName -eq "WindowsTemplateStudio"} ; +$wtsFileUrl = $wtsResults.versions[0].files | where {$_.assetType -eq "Microsoft.Templates.2017.vsix"}; + +$wtsVsix = [System.IO.Path]::GetFileName($wtsFileUrl.source); +$wtsFullPath = [System.IO.Path]::Combine((Resolve-Path $env:USERPROFILE).path, $wtsVsix); + +Invoke-WebRequest -Uri $wtsFileUrl.source -OutFile $wtsFullPath; + +$vsixInstallerFile = Get-Childitem -Include vsixinstaller.exe -Recurse -Path "C:\Program Files (x86)\Microsoft Visual Studio\2017\"; +$wtsArgList = "/quiet `"$wtsFullPath`""; + +$vsixInstallerResult = Start-Process -FilePath $vsixInstallerFile.FullName -ArgumentList $wtsArgList -Wait -PassThru; + +Remove-Item $wtsFullPath \ No newline at end of file