This page shows the source for this entry, with WebCore formatting language tags and attributes highlighted.
Title
How Encodo sets up new workstations
Description
<img attachment="windows-8-logo.png" align="right-column" title="Windows 8.1"><img attachment="ubuntu-logo.png" align="right-column" title="Ubuntu"><img attachment="339px-clonezilla.svg.png" align="right" title="Clonezilla"><img attachment="811025.png" align="right-column" title="Chocolatey"><img attachment="virtualbox_logo.png" align="right" title="VirtualBox">At <a href="http://encodo.com">Encodo</a>, we've recently set up a few new workstations with Windows 8.1 and wanted to share the process we use, in case it might come in handy for others.
Windows can take a long time to install, as can Microsoft Office and, most especially, Visual Studio with all of its service packs. If we installed everything manually every time we needed a new machine, we'd lose a day each time.
To solve this problem, we decided to define the <i>Encodo Windows Base Image</i>, which includes all of the standard software that everyone should have installed. Using this image saves a lot of time when you need to either install a new workstation or you'd like to start with a fresh installation if your current one has gotten a bit crufty.
Encodo doesn't have a lot of workstations, so we don't really need anything too enterprise-y, but we do want something that works reliably and quickly.
After a lot of trial and error, we've come up with the following scheme.
<ul>
Maintain a Windows 8.1 image in a VMDK file
Use VirtualBox to run the image
Use Chocolatey for (almost) all software installation
Use Ubuntu Live on a USB stick (from which to boot)
Use Clonezilla to copy the image to the target drive
</ul>
<h>Installed Software</h>
The standard loadout for developers comprises the following applications.
These are updated by Windows Update.
<ul>
Windows 8.1 Enterprise
Excel
Powerpoint
Word
Visio
German Office Proofing Tools
Visual Studio 2013
</ul>
These applications must be updated manually.
<ul>
ReSharper Ultimate
Timesnapper
</ul>
The rest of the software is maintained with Chocolatey.
<ul>
beyondcompare (file differ)
conemu (PowerShell enhancement)
fiddler4 (HTTP traffic analyzer)
firefox
flashplayerplugin
git (source control)
googlechrome
greenshot (screenshot tool)
jitsi (VOIP/SIP)
jre8 (Java)
keepass (Password manager)
nodejs
pidgin (XMPP chat)
poshgit (Powershell/Git integration)
putty (SSH)
smartgit (GIT GUI)
stylecop (VS/R# extension)
sublimetext3 (text editor)
sumatrapdf (PDF viewer)
truecrypt (Drive encryption)
vlc (video/audio player/converter)
winscp (SSH file-copy tool)
wireshark (TCP traffic analyzer)
</ul>
<h>Maintaining the Image</h>
This part has gotten quite simple.
<ol>
Load the VM with the Windows 8.1 image
Apply Windows Updates
Update ReSharper, if necessary
Run <c>choco upgrade all</c> to update all Chocolatey packages
Shut down the VM cleanly
</ol>
<h>Writing the image to a new SSD</h>
The instructions we maintain internally are more detailed, but the general gist is to do the following,
<ol>
Install the SSD in the target machine
Plug in the Ubuntu Live USB stick
Plug in the USB drive that has the Windows image and Clonezilla on it
Boot to the Ubuntu desktop
Make sure you have network access
Install VirtualBox in Ubuntu from the App Center
Create a VMDK file for the target SSD
Start VirtualBox and create a new VM with the Windows image and SSD VMDK as drives and Clonezilla configured as a CD
Start the VM and boot to Clonezilla
Follow instructions, choose options and then wait 40 minutes to clone data
Power off Clonezilla
Shut down Ubuntu Live
Unplug the USB drive and stick
Boot your newly minted Windows 8.1 from the SSD
Install Lenovo System Update (if necessary) and update drivers (if necessary)
Add the machine to the Windows domain
Remote-install Windows/Office licenses and activate Windows
Remote-install Avira antivirus
Grant administrator rights to the owner of the laptop
Use <c>sysprep /generalize</c> to reset Windows to an OOB (Out-of-box) experience for the new owner
</ol>
<h>Conclusion</h>
We're pretty happy with this approach and the loadout but welcome any feedback or suggestions to improve them. We've set up two notebooks in the last three weeks, but that's definitely a high-water mark for us. We expect to use this process one more time this year (in August, when a new hire arrives), but it's nice to know that we now have a predictable process.