Rebuilding Machines
With the previous builds of Windows 7, and now the RTM, I've had more than enough experience of rebuilding my machines over the past few months. One of the things I've created as a result is a "build script" for each of my development machines – it's still largely manual (although it would be great to have something automated here), but I find it acts as a good checklist to make sure that the machine is setup the way I need with all the necessary applications.
As it's a mixed bag of applications and settings, I thought I would spend a few minutes outlining what this build script looks like – some of which might be useful you upgrade/rebuild your own machines – and would love to hear of anything that I could potentially be including!
Base Operating System
First things first – got to load the OS and configure all the settings. This includes:
- The actual OS itself (Windows 7). I don't do much to the setup, apart from use a local account that's different to my domain account. Doing this prevents any conflict between c:users{account} and c:users{account.domain} directories.
- Next, add the machine to the domain. Before rebooting, I also make sure to add my domain account to the local administrators group (so that I'll be able to log into the machine afterwards).
- Reboot
- Login, and enter the Windows activation code
- Run Windows Update (great for checking for those updated drivers not found during setup)
-
Install Antivirus Software (I'm running Microsoft's Forefront Client Security)
Next I install any remaining drivers on the machine:
- For my Lenovo machines this includes the TrackPoint driver and the ThinkVantage Power Manager utility. If this is my desktop machine, then this includes the drivers for a Wacom tablet.
- Any printer drivers not picked up by default with Windows 7(for a Samsung Laser at home)
-
I also run the Windows Experience Index which is good for showing whether any drivers are potentially missing (e.g. if I get a 1.0 for the display, something is up)
Now for some Windows shell configurations:
- Start Menu / GPEDIT.MSC / Administrative Templates / Start Menu and Taskbar -> enable "Add Search Internet link to Start Menu". This enables me to type search criteria into the start menu and search directly from the start menu.
- Start Menu / Advanced System / Remote tab -> enable this machine to be accessed via remote desktop (RDP). Required for accessing machines remotely.
- Same dialog / Performance Tab -> uncheck all of the "animate xxx" settings, all of the "fade xxx" settings, and the "slide open combo boxes". I find that this helps remove a lot of the transition bottlenecks on older graphics hardware.
- Right click on desktop/personalize/Windows Color / Advanced Appearance Settings -> In here I changes the border padding from 4px to 1px. I've never understood why the border padding had to be so thick…
- Start Menu / cmd.exe / Properties -> Set the command prompt font to Consolas 16, green text on a black background. Much easier on the eyes as I spend a lot of time in the command prompt window.
- Start Menu / Power Options -> set my power options accordingly for the machine. This normally means making sure that the machine does not go into hibernation while on AC power.
-
Start Menu / Regional -> Add a new keyboard type / Japanese IME. So that I can type in Japanese
Data
After the operating system is up and running to my liking, it's time to get my data on the machine.
- First thing is to install Live Mesh (removing the device from the existing mesh if this was an existing machine).
- I use Live Mesh to synchronize two primary folders between all my machines – one for projects that I'm currently working on, and one for tools, a collection of everyday tools that I just can't live without. I add these as two desktop folders.
- Having these as desktop folders is great for Windows Explorer, but cumbersome to access from the command line and scripts. To overcome this, I use SysInternal's Junction to create NTFS junction points for c:projects and c:tools -> both of which point to the corresponding Live Mesh folder.
- In Windows Explorer, I also add the projects folder to my favorites, which makes it display in the left hand column on open/save dialog boxes.
- I use Keith Brown's Password Minder together with a PWM file in my Mesh to act as a password store across all machines.
- One of my favorite editing tools is Notepad2, which I keep in my c:tools folder and also add to the "Send To" menu by running "shell:sendto" from the Start Menu.
- Searching is really important to my everyday use, so I use Start++ from Brandon Paddock, which gives me access to a whole set of shortcuts from the Start Menu. I also create a junction for the settings directory (%userprofile%appdatalocal) to point to my sync'd tools directory so that all of my shortcuts are sync'd through Live Mesh.
-
I've also created several OSDX files that I install – for example, one that searches Amazon and another that searches the Microsoft downloads sites. I pin two of these (Amazon and Microsoft Downloads) to the Start Menu through GPEDIT.MSC/Admin/Windows Components/Windows Explorer/Pin option.
Office Applications
By this point I've got the operating system setup and all my data accessible. Now it's time for Office applications.
- Install Office 2007 SP1
- Configure my Outlook Account for Microsoft Exchange
- Enable Windows Update for Office Applications when prompted.
- Go to Windows Update and apply all of the patches, inc. SP2.
- Configure an IMAP account for my home Email.
- Switch off desktop alerts (too much mail to keep getting toast for each one!).
- Set the default plain text font from Courier to Calibri.
- Configure the shared calendar settings for my wife's shared calendar and also remove the tasks view from my calendar pane. (I have too many tasks to really make use of this functionality).
- Once Office is complete, I install Mind Manager – one of my favorite mind mapping tools.
- Install Office Communicator to get office IM and VOIP access.
- Install Expression Studio 3 – primarily for Expression Blend (when doing anything in Silverlight or WPF) and Expression Web (IMO, one of the best HTML authoring environments out there).
- Install FeedDemon for my RSS updates, and switch off the desktop alerts for this also.
- PDF Reader. My favorite is FoxIt Reader, just because it's darn quick.
- Virtual Clone Drive. One of my favorite utilities for mounting ISO files as drives within Windows Explorer.
-
BulletProof FTP. One of the most reliable FTP appli
cations that I've come acrossNow that all the applications are installed, there's a little more configuration.
- I have a ton of macros that support GTD (Getting Things Done) that you may have seen from earlier posts. This is where I load these into Outlook and create shortcuts for these.
-
I also setup OneNote, pointing it to a shared set of notebooks in my Live Mesh folders, and also configuring the screen capture utility to save to the clipboard only (anything else is just overkill).
Development Environment
By this point I have the machine at a point where I can use general applications, but not really write any code. Next step is to get all of the developer applications up and running.
- Visual Studio 2008
- Reboot, and then apply Visual Studio 2008 SP1.
- Windows 7.0 SDK. I don't use much out of here, but there are a few tools (e.g. XamlPad) that I can't live without.
- Team Explorer 2008. For connecting to my TFS shares.
- Re-apply Visual Studio 2008 SP1 (required to get Team Explorer working correctly).
- Configure IIS and ASP.NET on the machine (required for the Windows Azure CTP)
- Apply my saved Visual Studio settings file (mostly includes font changes)
- Install the Windows Azure July CTP
- Install the .NET Service Bus July CTP
- Install SQL Express 2008 + Advanced Services to a new instance called SQLEXPRESS08. In my opinion, SQL Express 2008 is Microsoft's best kept secret – a free database, with the power of higher end SQL server editions.
- SQL Server 2008 SP1
- SQL Server 2008 Books Online (mostly for the T-SQL reference – why is it that I can't remember any T-SQL commands?
) - Apply hotfix #957944 which allows SQL Express 2008 to be used directly from MDF files in Visual Studio 2008.
- Mobile SDK for Windows Mobile Standard 6.0. Mostly for small applications that I create on my Samsung Blackjack II.
- Web PI – a great application for installing extra Web applications on your machine. From here I also install ASP.NET MVC 1.0 and Silverlight 3 SDK.
- Virtual PC – for accessing my VHDs from the desktop.
- Script# – wonderful tool for creating great scripts.
- DevExpress CodeRushX – a free add on for Visual Studio that supports a number of refactoring shortcuts that I find really useful.
- RAD Software Regular Expression Designer. Before finding this tool I was looking through books when trying to work out RegEx commands – no longer.
-
Visual Studio 2010 Beta – runs really well side by side Visual Studio 2008.
I admire your article.It contains valuable information.Thanks for Sharing.