SmartDeploy offers a simple and scalable image-based PC deployment solution for organizations of all sizes.
Disclosure: SmartDeploy is sponsoring the First Ring Daily podcast for a three-month period and has purchased a webinar, and the company asked me to write an honest review of its flagship product. But my opinions about SmartDeploy are my own and the company’s sponsorship played no role in this review. I have no qualms—moral or otherwise—recommending this solution to readers of this site. —Paul
PC deployment is arguably among the least glamorous tasks facing both new and established IT departments. And as businesses grow and become more managed, it’s also among the least well-served.
Today, enterprises can take advantage of expensive solutions, such as Microsoft System Center Configuration Manager (SCCM), which are powerful but complex. And smaller organizations—future enterprises—can look forward to a slog of free but complex environments like Microsoft Deployment Toolkit (MDT). If only there were something simpler. Something that could serve both audiences equally well.
SmartDeploy aims to be that solution. Thanks to its simple, user-friendly interface, even the smallest and least experienced of IT departments should be able to get up and running with this tool in an afternoon. And for those with larger and more diverse environments, SmartDeploy scales with you, and offers more advanced tools to meet your evolving needs.
SmartDeploy is also versatile because PC deployment spans many areas: It’s not just about outfitting an employee with a new PC. Some other common scenarios involve getting an employee back up and running when a PC isn’t working properly, and migrating from one Windows version to another. For example, from Windows 7 to Windows 10. But whatever the deployment need, the underlying goals are always the same: speed, consistency, and ease of use.
So I put SmartDeploy to the test.
Getting started with SmartDeploy
Because SmartDeploy can do so much, I figured I’d start small and work my way up. So my first task was to deploy a basic Windows 10 install to a physical PC. This involved creating a virtual machine (VM), capturing an image from this reference machine, and then writing that image to a bootable USB key, and using that to install Windows.
That virtual machine requirement is interesting. If you’re familiar with tools like the Microsoft Deployment Toolkit, you know that you typically create reference images from ISO files, and then build and customize images from there, and often via scripting.
I was initially thrown by SmartDeploy’s use of VMs. But using VMs makes plenty of sense: It’s a live Windows environment that can easily be updated as needed, and it can form the basis for any number of reference images—or what SmartDeploy calls reference machines—that can later be expanded with different applications, settings, and PC-specific driver sets. And you can do so without complicated scripting, or by maintaining an ever-growing collection of physical reference PCs.
Using VMs also means you won’t need to learn something new: SmartDeploy works with all popular virtualization platforms—including Microsoft Hyper-V, VMWare ESX/Workstation/Player, and Oracle VirtualBox—so you can simply use whatever tool you’re already using. I chose VirtualBox for no particular reason, though I have lots of experience with Hyper-V as well.
The other nice thing about SmartDeploy is that you don’t need expensive infrastructure, though it can take advantage of it if you do. In fact, you don’t even need a network. All you really need is a PC to work from, a virtualization solution, Windows install media, and a USB key to get started.
Also helping matters is the SmartDeploy console, which is among the simplest IT tools I’ve used. Its default view, Activities, features a list of the activities—Build, Capture, Platform Packs, Answer File, and Media—you’ll need to complete, and in order. You can also access other items, like your reference machine, image, and platform pack libraries, from the options on the left.
Creating a basic install image
So I got to work.
First, I built a reference machine. I could have probably done this directly from VirtualBox, but the Build activity in the SmartDeploy console provides such a friendly, wizard-based front-end that I didn’t see a point in short-circuiting the process. Basically, you name the VM and determine where to place it in your file system, select the install ISO or physical media—I used the former—and then your VM environment fires up so you can install Windows.
This is straightforward and familiar, and it involves running the interactive Windows Setup routine—I used Windows 10 because my target PCs are all Windows 10 PCs—answering the prompts as needed, and basically babysitting it until the process was complete.
Once Windows was installed in the VM, I updated it via Windows Update, but I didn’t worry too much about VM extensions, which are unnecessary, or drivers, which are of course machine specific anyway: As noted, SmartDeploy’s PC-specific driver sets, called platform packs, will take care of this for the physical PCs on which you will be deploying Windows. So I just fully shut down the VM—using the familiar shutdown /s /t 0 command line—and was ready to continue.
(That last bit is important: You want to ensure that there are no pending Windows Updates, especially in Windows 10, where updates can install partially on a reboot or shutdown and then complete installing when the computer boots again. On a few later instances, a SmartDeploy wizard that’s described below actually noted partially completed updates and prompted me to fix that before continuing.)
The next step was capturing the VM, a process that creates a Windows Imaging (WIM) file—e.g. an image file—which should be familiar to those in Microsoft-focused IT shops. This involved choosing Capture from the SmartDeploy console, selecting the VM I had just created, and then the disks within the VM that I wished to include. There are options for inserting a volume licensing (VL) product key for Windows and a local admin account and password that I ignored, since I wasn’t using VL media for testing.
In the next step of this simple wizard, I had to choose between a Standard image, which is used to capture a new image file, or a Differencing image, which creates a differencing image (DWM) file, and can be used to update an existing image. Since this was my first attempt, I chose the former.
After that, I just needed to choose an image name and description, and a save location. And then SmartDeploy created the image file. The entire process took a bit over 30 minutes.
Normally, one would add drivers, other software, and settings to an image before deploying it. And I would do that, later. For this first pass, however, I just wanted to see how SmartDeploy handled a basic, no frills Windows 10 install. So I selected Media from the SmartDeploy console, launching the Media Wizard, which prepares the install media.
As with virtually everything else in SmartDeploy, this wizard is straightforward. You can choose between local network/offline media and cloud-based media types, so I chose the former. Then I chose offline media, since I intended to install via a USB key. From there, I just chose the image file that I had created, and the USB key I wished to use, and SmartDeploy worked its magic. This particular process also took about 30 minutes.
With the install media created, it was go time. The only decision remaining was which PC to use. I have a number of test PCs from which to choose, but two models stood out because they are both business-class laptops that might be deployed in this fashion and because, for whatever reason, I happened to have two of each: Microsoft’s Surface Book and the HP EliteBook x360 1030 G2. I chose the Surface because my level of familiarity with the devices.
And there were no surprises: Windows 10 installed fine, but as I had expected, there were a number of Surface Book-specific drivers that did not install immediately. I knew that these drivers and some other firmware would likely appear over time via Windows Update, but this is no condition in which to deliver a new PC to a user. So it was back to the drawing board.
Adding drivers with platform packs
Microsoft, like other PC makers, makes drivers available for download to end users and IT alike. In the latter case, these drivers can be integrated into install images so that the PC comes up properly configured the first time it boots. I could have found and downloaded the complete driver and firmware set for Surface Book if I wanted to. But thanks to SmartDeploy there was no reason to do that.
Instead, I headed back to the SmartDeploy console and chose Platform Packs from the Activities menu. This unique interface lets you choose between PC models in an ever-growing library of available driver sets, find the PC models you’re going to configure, and then download those drivers so that they can be integrated into your install media. You can think of a platform pack as a ZIP file of sorts that just contains PC model-specific drivers that will later be integrated into your install media.
If you have two different PC types to deploy, for example, you would download the platform packs for each. From there, you could create one installer with both platform packs, so it could be used on either type of PC. Or you could create two installers, each customized for the PC types you have. Thanks to this simple design, the base VM and image file don’t need to be duplicated for each PC in your environment. And you can manage the software—the OS and installed applications—and the drivers separately.
(Many organizations will provide the same PC hardware to different types or groups of employees, who may have different software or configure needs. So you can also differentiate between different installs on the same PC type by creating unique install media for each.)
I was starting off small, so I searched for Microsoft and then selected Surface Book and Windows 10 (x64) from the list of platform packs. (For this PC, Windows 10 x64 is the only supported choice.) Then I clicked Download and downloaded the drivers. You can view downloaded platform packs from the Platform Pack Library option in the SmartDeploy console.
To integrate these Surface Book drivers into my install media, I chose Media from the SmartDeploy activities list again. But this time, I specified the Surface Book platform pack (MicrosoftSurfaceBook-Windows10.ppk) at the appropriate step in the wizard. So the install media I created included both the base OS and the Surface Book drivers and firmware.
This time, the results were far more acceptable. Windows 10 came up as before once Setup was complete, but now Device Manager was clean, and all of the Surface Book drivers were automatically installed. The resulting system, while still relatively bare, was in a minimally acceptable condition to hand to a user.
But of course, the point is to do better than that.
Adding applications and settings
Thinking through what a typical work-allocated laptop might contain, I used SmartDeploy’s tools and VirtualBox to further customize the install, to make it more complete.
For example, you can add applications to the VM so that users can get to work immediately. To test this, I installed Google Chrome and Adobe Reader 11 in a copy of Windows 10 virtual machine. I also made various settings changes, like pinning Chrome to the taskbar. Then I completely shut down the VM and used the SmartDeploy console to capture an image from this VM, as before, and then install media using that image and the correct platform pack. It worked as expected.
SmartDeploy also supports zero-touch deployments via XML-based answer files, which can be used to automate PC deployments so that no one needs to babysit each install and answer prompts. Thus far, I’d done this babysitting for each test install: The PC boots into SmartDeploy’s Deploy Wizard and you answer some basic questions about which image to deploy and so on before it sets about installing Windows.
But you can use the Answer File wizard in the SmartDeploy console to fully automate this process. Literally, any setting that could be configured by you during the Deploy Wizard can be automated with an answer file. (Automated installs are required when you install over a network.)
So I selected Answer File from the console and stepped through the wizard. An Advanced option provides a number of advanced settings, including the ability to automatically generate PC names based on a customizable scheme. But the basic steps are clear enough: Choose local network/offline deployment or cloud storage depending on how you intend to deploy the resulting image, select the image to deploy, choose whether to recreate the drives from the image (the default on most clean installs) or to wipe and load the drives (which doesn’t actually modifying the existing disk structure on the target PC), optionally enter a Windows product key (again, for VL media only), a full name (which is not the user name), your time zone and language, display settings, network settings, and your domain or workgroup.
OK, it’s a long list, but it’s all very straightforward and familiar. The trick comes at the end: After you choose a location to save the answer file, you’re prompted to choose an attended or unattended deployment type. The attended type means that you or another IT pro will need to babysit the install. Unattended means that they will not. So I chose Unattended for a fully automated deployment.
(You need to authenticate a user to do this. If you’re not on a domain, you need to enter the username in the form of local\username.)
From there, I ran the Media Wizard again, selecting an offline deployment media type, and the correct image file and deployment pack. In the Optional Components step, I selected the answer file I had just created, chose the USB key I wanted to use, and completed the wizard.
Once the media was created, I used that to boot the Surface Book. This time, there was just a warning—with a 30-second countdown—that the PC was about to be imaged. And then the install proceeded without any intervention.
There’s so much more
I’ve only touched the surface here, as SmartDeploy has many advanced capabilities I wasn’t able to explore. But you can create your own platform packs, for example, or edit existing packs. You can deploy over a network instead of using USB storage as well. And SmartDeploy is an also interesting choice for those plotting a Windows 7 to Windows 10 migration, as you can retain your users’ data while paving over the PCs with the new Windows version.
Upgrading from one version of Windows 10 to another version is, of course, a less complex issue, but it’s one I did experiment with: You can simply upgrade a VM in-place to the latest version—I did so after making a copy—and then capture it as a new image. That way, future clean installs will simply be on the newest version of Windows 10 immediately.
If you’re interested in evaluating this product, SmartDeploy has a special offer for the entire Thurrott.com readers. They are giving away 15 licenses with one year of support—a $665 value—to the entire audience: Check out www.smartdeploy.com/thurrott for more information. There’s literally no gotcha here, beyond needing to be a new SmartDeploy customer.
I recommend giving it a shot: I’m really impressed by how well SmartDeploy works, and I found myself experimenting with different configurations just to see what would happen as the result of small changes. It’s a bit of a stretch to claim that any IT tool can be fun, for sure. But SmartDeploy comes about as close as I think is possible. If your job involves deploying PCs to users, you owe it to yourself to take a look.