On any sufficiently complex team project you will eventually need to find a way to keep the developer machines (and the build servers) aligned.
The web platform installer is a great way of getting started on this.
Now the webpi also has a command line version that must be run as admin.
The following will list the software that you have installed:
webpicmd /list /listoption:installed
Then you can build a script similar to the following:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Install-WindowsUpdate -AcceptEula | |
#Update-ExecutionPolicy Unrestricted | |
#Set-ExplorerOptions -showHidenFilesFoldersDrives -showProtectedOSFiles -showFileExtensions | |
#Enable-RemoteDesktop | |
#Enable-MicrosoftUpdate | |
#Set-TaskbarSmall | |
# install Visual Studio instances, SQL Server first | |
# Web Platform Installer (get a full list of packages you can install from webpi using "clist -source webpi") | |
#cinst webpi | |
#choco webpi IISExpress_ByPlatform | |
#choco webpi SQLLocalDB | |
#choco webpi WIF | |
#choco webpi WDeploy | |
# Web Platform Installer : Specific Versions – need to update to latest if newer exists | |
#choco webpi WindowsAzureSDK_2_2 | |
# Visual Studio Extensions | |
#Install-ChocolateyVsixPackage "VsVim" http://visualstudiogallery.msdn.microsoft.com/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329/file/6390/46/VsVim.vsix | |
#Install-ChocolateyVsixPackage "IndentGuides" http://visualstudiogallery.msdn.microsoft.com/e792686d-542b-474a-8c55-630980e72c30/file/48932/19/IndentGuide%20v14.vsix | |
#Install-ChocolateyVsixPackage "SpellChecker" http://visualstudiogallery.msdn.microsoft.com/a23de100-31a1-405c-b4b7-d6be40c3dfff/file/104494/2/VSSpellCheckerPackage.vsix | |
#Install-ChocolateyVsixPackage "VSCommands2013" http://visualstudiogallery.msdn.microsoft.com/c6d1c265-7007-405c-a68b-5606af238ece/file/106247/15/SquaredInfinity.VSCommands.VS12.vsix 12 | |
#Install-ChocolateyVsixPackage "ProductivityPowerTools2013" http://visualstudiogallery.msdn.microsoft.com/dbcb8670-889e-4a54-a226-a48a15e4cace/file/117115/3/ProPowerTools.vsix 12 | |
#Install-ChocolateyVsixPackage "WebEssentials2013" http://visualstudiogallery.msdn.microsoft.com/56633663-6799-41d7-9df7-0f2a504ca361/file/105627/31/WebEssentials2013.vsix 12 | |
#Install-ChocolateyVsixPackage "SlowCheetahXmlTransforms" http://visualstudiogallery.msdn.microsoft.com/69023d00-a4f9-4a34-a6cd-7e854ba318b5/file/55948/22/SlowCheetah.vsix | |
#Install-ChocolateyVsixPackage "AngularJsSpaTemplate" http://visualstudiogallery.msdn.microsoft.com/5af151b2-9ed2-4809-bfe8-27566bfe7d83/file/119298/2/Extension.vsix | |
#Install-ChocolateyVsixPackage "VSColorOutput2013" http://visualstudiogallery.msdn.microsoft.com/f4d9c2b5-d6d7-4543-a7a5-2d7ebabc2496/file/63103/7/VSColorOutput.vsix 12 | |
#Install-ChocolateyVsixPackage "HotTowelSpa2013" http://visualstudiogallery.msdn.microsoft.com/1eb8780d-d522-4dcf-bf56-56f0eab305c2/file/111219/4/HotTowelSpa.2013.vsix 12 | |
# Browsers | |
#cinst GoogleChrome | |
#cinst GoogleChrome.Dev | |
#cinst GoogleChrome.Canary | |
cinst Firefox | |
cinst Opera | |
# Source Control | |
cinst git.install | |
cinst git-credential-manager-for-windows | |
cinst SourceTree | |
#cinst Post-GIT-HG | |
cinst github | |
#cinst hg | |
#cinst svn | |
#cinst tortoisehg | |
#cinst tortoisesvn | |
#cinst tortoisegit | |
#cinst visualsvn | |
#cinst VisualHG | |
#cinst tfsSidekicks2012 | |
# Editors | |
cinst vim | |
#cinst sublimetext2 | |
#cinst markpad | |
cinst visualstudiocode | |
cinst atom | |
cinst brackets | |
# JetBrains (PhpStorm has everthing that WebStorm does and more) | |
#cinst dotpeek | |
#cinst dotTrace | |
#cinst resharper | |
#cinst PhpStorm | |
# RegGate | |
#cinst reflector | |
# Web / Internet / Network | |
#cinst nginx | |
#cinst curl | |
#cinst nmap | |
cinst wireshark | |
#cinst OwinHost | |
#cinst Wget | |
# Social | |
cinst skype | |
cinst slack | |
# Languages | |
cinst nodejs.install | |
#cinst ruby | |
#cinst ruby.devkit | |
#cinst Lua | |
#cinst clojure | |
#cinst HaskellPlatform | |
#cinst groovy | |
#cinst golang | |
#cinst scala | |
#cinst python | |
#cinst php | |
#cinst erlang | |
# development utilities | |
cinst yeoman | |
cinst fiddler4 | |
cinst linqpad | |
cinst kdiff3 | |
#cinst beyondcompare | |
#cinst mysql.workbench | |
#cinst GnuWin | |
cinst dependencywalker | |
cinst typescript | |
cinst HxD | |
#cinst snoop | |
cinst stylecop | |
#cinst ScriptCs | |
cinst ilmerge | |
cinst postman | |
# general utilities | |
#cinst 7zip.install | |
cinst sysinternals | |
#cinst pstools | |
cinst putty | |
cinst filezilla | |
#Install-ChocolateyPinnedTaskBarItem "$env:programfiles\filezilla\filezilla.exe" | |
cinst rdcman | |
cinst greenshot | |
cinst hashcheck | |
#cinst AzureStorageExplorer | |
cinst lockhunter | |
#cinst sharpkeys | |
#cinst f.lux | |
# end user | |
cinst treesizefree | |
cinst iTunes | |
#cinst kindle | |
cinst vlc | |
# Environment | |
#cinst Microsoft-Hyper-V-All -source windowsFeatures | |
#cinst IIS-WebServerRole -source windowsfeatures | |
# cloud | |
cinst dropbox | |
cinst googledrive | |
#cinst OneDrive | |
#cinst sugarsync | |
# graphics, games, audio | |
cinst OpenCV | |
#cinst openal | |
#cinst unity | |
cinst blender | |
cinst freecad | |
cinst inkscape | |
cinst audacity | |
# testing | |
#cinst specflow | |
#cinst nunit | |
# Continuous Integration | |
#cinst NAnt | |
#cinst jenkins | |
#cinst cruisecontrol.net | |
# Android Development | |
#cinst android-sdk | |
#cinst AndroidStudio |
Then in a powershell prompt:
START http://boxstarter.org/package/nr/url?https://path/to/myfile.txt This with a bit of testing can give you a full machine setup for say your CI servers without requiring complex maintenance. This is before you have to write a single script!