Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sebastiantecsi/c1ec932ce4ed3de07fbb1431e6b2b49b to your computer and use it in GitHub Desktop.
Save sebastiantecsi/c1ec932ce4ed3de07fbb1431e6b2b49b to your computer and use it in GitHub Desktop.
Kam's Dev Box Setup

This uses Chocolatey and Boxstarter to install a loadout for Sitecore/.NET development on a new computer. Click the link below to start a click-to-run that does all the things. It's that easy. Fork the gist and alter the link below to customize for your own usage!

Click here to start install

# Sets up a handily configured development box for Sitecore using Chocolatey and Boxstarter
# Feel free to fork and hack at you see fit.
$ErrorActionPreference = 'Stop'
# Temporary checksum fix while https://github.com/mwrock/boxstarter/issues/198 is worked out
choco upgrade chocolatey --version 0.9.10.3 --allow-downgrade
# Prevent needing -y on all commands
choco feature enable -n=allowGlobalConfirmation
#
# Windows Settings
#
Set-WindowsExplorerOptions -EnableShowHiddenFilesFoldersDrives -EnableShowProtectedOSFiles -EnableShowFileExtensions
Set-TaskbarOptions -Size Large -Combine Full
Disable-GameBarTips
Disable-BingSearch
Disable-InternetExplorerESC
#Set-CornerNavigationOptions -EnableUsePowerShellOnWinX
Update-ExecutionPolicy RemoteSigned
Enable-WindowsOptionalFeature -Online -FeatureName "TelnetClient" -All -NoRestart
Enable-WindowsOptionalFeature -Online -FeatureName "NetFx3" -All -NoRestart
#
# IIS
#
DISM /Online /Enable-Feature /All /FeatureName:IIS-ApplicationDevelopment /FeatureName:IIS-ASPNET /FeatureName:IIS-ASPNET45 /FeatureName:IIS-BasicAuthentication /FeatureName:IIS-CommonHttpFeatures /FeatureName:IIS-DefaultDocument /FeatureName:IIS-DirectoryBrowsing /FeatureName:IIS-HealthAndDiagnostics /FeatureName:IIS-HttpCompressionDynamic /FeatureName:IIS-HttpCompressionStatic /FeatureName:IIS-HttpErrors /FeatureName:IIS-HttpLogging /FeatureName:IIS-HttpRedirect /FeatureName:IIS-HttpTracing /FeatureName:IIS-ManagementConsole /FeatureName:IIS-ManagementScriptingTools /FeatureName:IIS-ManagementService /FeatureName:IIS-Performance /FeatureName:IIS-RequestFiltering /FeatureName:IIS-StaticContent /FeatureName:IIS-URLAuthorization /FeatureName:IIS-WebServer /FeatureName:IIS-WebServerManagementTools /FeatureName:IIS-WebServerRole /FeatureName:IIS-WindowsAuthentication
choco install urlrewrite
choco install webpi
choco install webdeploy
#
# .NET Dev Tools
#
##choco install visualstudio2017professional
##choco install visualstudio2017-workload-netweb # ASP.NET is a separate module now
# Handle these manually for SQL Server Developer Edition (or uncomment to get SQLEXPRESS instance)
#choco install mssqlservermanagementstudio2014express
#choco install MsSqlServer2014Express
# R# package doesn't seem to install in VS right
#choco install resharper
#choco install dotcover
#choco install dotpeek
#choco install dottrace
#choco install dotmemory
#
# MongoDB (as a windows service)
#
##$mongoDbPath = "$env:SystemDrive\MongoDB"
##$mongoDbConfigPath = "$mongoDbPath\mongod.cfg"
##$url = "https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-3.2.7.zip"
##$zipFile = "$mongoDbPath\mongo.zip"
##$unzippedFolderContent ="$mongoDbPath\mongodb-win32-x86_64-2008plus-3.2.7"
##if ((Test-Path -path $mongoDbPath) -eq $false)
##{
## Write-Host "Setting up directories..."
## $temp = md $mongoDbPath
## $temp = md "$mongoDbPath\log"
## $temp = md "$mongoDbPath\data"
## $temp = md "$mongoDbPath\data\db"
##
## Write-Host "Setting up mongod.cfg..."
## [System.IO.File]::AppendAllText("$mongoDbConfigPath", "dbpath=$mongoDbPath\data\db`r`n")
## [System.IO.File]::AppendAllText("$mongoDbConfigPath", "logpath=$mongoDbPath\log\mongo.log`r`n")
## [System.IO.File]::AppendAllText("$mongoDbConfigPath", "smallfiles=true`r`n")
##
## Write-Host "Downloading MongoDB..."
## $webClient = New-Object System.Net.WebClient
## $webClient.DownloadFile($url,$zipFile)
##
## Write-Host "Unblock zip file..."
## Get-ChildItem -Path $mongoDbPath -Recurse | Unblock-File
##
## Write-Host "Unzipping Mongo files..."
## $shellApp = New-Object -com shell.application
## $destination = $shellApp.namespace($mongoDbPath)
## $destination.Copyhere($shellApp.namespace($zipFile).items())
##
## Copy-Item "$unzippedFolderContent\*" $mongoDbPath -recurse
##
## Write-Host "Cleaning up..."
## Remove-Item $unzippedFolderContent -recurse -force
## Remove-Item $zipFile -recurse -force
##
## Write-Host "Installing Mongod as a service..."
## & $mongoDBPath\bin\mongod.exe --config $mongoDbConfigPath --install
##
## Write-Host "Starting Mongod..."
## & net start mongodb
##}
##else {
## Write-Host "MongoDB already installed."
##}
#
# Misc Tools
#
choco install 7zip
##choco install fiddler4
##choco install putty
# Not installing Git because I like to:
# 1) Disable Git GUI context menu
# 2) Not install the VS plugins and other extras for GitEx
# choco install git.install
# choco install gitextensions
##choco install sublimetext3
##choco install visualstudiocode
choco install googlechrome
##choco install slack
##choco install dashlane
##choco install googledrive
choco install windirstat
##choco install beyondcompare
choco install totalcommander
choco install javaruntime
choco install procexp
choco install notepadplusplus
choco install lockhunter
#
# MS Office (if you want it)
#
# choco install Office365Business
# Windows Updates
Install-WindowsUpdate -GetUpdatesFromMS -AcceptEula
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment