Welcome to the Deploy Vista archive…

By arwidmark / September 6, 2019

The deployvista.com site is put to rest…You find new content on the Deployment Research site, a site filled with articles and guides on how to deploy and manage Windows operating systems. You can search the old deployvista.com article archive here, simply use the search to the right. If you are missing something on the new site, please let me know. You can find me on twitter on my @jarwidmark alias, or connect with me on LinkedIn: https://www.linkedin.com/in/jarwidmark
Regards / Johan Arwidmark

MDT – Drivers – PowerShell is king

By arwidmark / February 18, 2011

If you have read any of my articles on MDT and drivers you know that, for most environments, I like to have total control of my drivers (rather than the Total Chaos method which is default in MDT).

This means that I normally create a more detailed folder structure in the deployment workbench, that matches the drivers folder that I have on disk.Of course I could use old school DriverPaths method on MDT to avoid importing the drivers all together, but I kind of like the single instance store in MDT, and being able to use additional filter if I want to.

Here is a powershell script that imports drivers into MDT from a folder structure on disk…

Note: This script is written to import drivers into a clean driver store, the current version does not handle updates, so if you need to add more drivers, simply clean the store, and run the script again.

Download the Import Drivers From File System Script

The structure on disk looks like this:

After running the script, it will look like this in the deployment workbench

You need to edit the following information in the script to reflect your environment

$DriverStore = “C:\Drivers”
$MDTDSRoot = “C:\MDTBuildLab”
$PSDriveName = “DS001”

Happy Scripting…

/ Johan

Using applications in MDT 2010 (VBscript vs Batch files)

By arwidmark / January 18, 2011

Over the years I have been answering quite a number of posts from people trying to run batch files in MDT. And as fun as the old batch files ever are, you simply get way more features when converting them into vbscript…

Here is the deal, MDT does support batch files, but batch files has quite many limitations compared with vbscript. The most common issues relates to the working directory and UNC paths, using pushd and “%~dp0” for temporary mappings. Others relate to calling cmd /c before the actual command etc, not to mention the lack of “real” objects…

By converting the batch file into a vbscript we can take advantage of all the object properties in MDT, get a better error handling and logging. Shorthand – it will just work. On top of that we can have a common standard on how we deploy applications.

Here is a sample batchfile from one of the forum posts that installed quicktime 7, the post was about the batch file not working correctly with MDT.

REM Install Application Support first:
AppleApplicationSupport.msi /quiet /passive /norestart

REM Install Quicktime

REM Delete the AutoRun key
reg delete “HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” /v “QuickTime Task” /f

Rather than even spending a minute on debugging the batchfile I converted into a vbscript that you can download: QuickTime 7 installation script for MDT


  1. Create a D:\AppSource\QT\Source folder structure
  2. Copy the Quicktime installation files (msi) to the D:\AppSource\QT\Source folder
  3. Copy the Install-QuickTime.wsf script to D:\AppSource\QT
  4. Create an application in MDT, set the source path to D:\AppSource\QT when importing, and set the command-line to cscript.exe Install-QuickTime.wsf


When deploying the app you get additional logging the in the C:\MININT\SMSOSD\OSDLOGS from the script itself as well as the individual msi installs.

For testing purposes it’s very useful to create a custom task sequence that only installs the QT application, and execute that sequence from the running OS (so that you don’t have to do a full deployment every time you need to test an app).

/ Johan


List of MDT 2010 Resources

By arwidmark / January 18, 2011

Per request, here is a list of useful MDT 2010 and Windows Deployment resources…


Deployment Resarch
My new blog, dedicated to all types of operating system deployments

Mike’s Tech Head Blog
Mikael Nystroms blog 


My old Blog (this site) 🙂
Despite the name, dedicated to all types of operating system deployments

TrueSec Video Tutorials and Guides
From my time at TrueSec – The Deployment CD’s – Free video guides and tutorials on MDT 2010 (RTM). Still available for download (requires registration).

Deployment Guys blog
A handful of deployment experts (MCS) are blogging here

Microsoft Deployment Toolkit Team Blog
The MDT team blog

Michael Niehaus blog
Nicknamed “Knowledgehaus” internally for his massive knowledge on deployment, Michael is the lead dev behind MDT.

Xtreme Consulting blog
A few of the contractors on the MDT team work for Xtreme, this is their blog

Chris Nacker blog
Deployment Expert, working for Catapult Systems

Josh Mueller blog
Fellow deployment geek…

Maik Koster blog
Deployment Expert (and developer)

Revue du Geek
French deployment site (in French) hosted by Yannick Plavonil. Revue du Geek translates into The Geek Review according to Bing :).

MDT Wizard Editor
A wizard editor for the MDT 2010 Lite Touch wizard (Which also can be used with ConfigMgr 2007)

Pretty Good Frontend
A bunch of web services and a Frontend, that I wrote for ConfigMgr 2007 and MDT 2010 Zero Touch. With some tweaks it also works with MDT 2010 Lite Touch..

Maik Kosters enhanced version of my frontend

MDT Scripts, Front Ends, Web Services, and Utilities for use with ConfigMgr/SCCM
140+ readymade web services and scripts for MDT 2010, all written by Maik Koster

MDT Web FrontEnd 
A web portal (management UI) for the MDT database, written by Maik Koster

Deploying Windows 7 Essential Guidance from the Windows 7 Resource Kit and TechNet Magazine
A free ebook on Windows 7 deployment. 412 lovely pages.

Deployment Fundamentals
A book on MDT 2010 Lite Touch, written by me and Mikael Nystrom

/ Johan

Back to basics – Understanding Unattend.xml automation in Windows 7

By arwidmark / October 19, 2010

If your goal is to very quickly have a nice fully automated Windows 7 setup, including drivers, application etc. – This article is not for you. If that’s your goal, you should download the free Microsoft Deployment Toolkit (MDT) 2010, and use that as your deployment solution.

That being said, if you rather is a hardcore geek who wants to build everything yourself from scratch, instead of using the standard tools that Microsoft recommends, this article will help you create your own answer files to automate the core Windows 7 setup.

This is also your chance to challenge the 20+ people strong deployment team at Microsoft, showing them that you are better building deployment solutions than they are. Why use a standard solution that 300.000 other people on this planet are already using when you can re-invent what they have done and build it your self.

So here is the text to get in touch with your inner deployment geek…

Download the sample files:

Understanding Unattend.xml automation in Windows 7

Background info…

The core setup of Windows 7 can be automated by creating an answer file, the Unattend.xml file. The Unattend.xml for Windows 7 (and Vista/2008/2008R2) are divided into sections, or configuration passes. This is because different parts of the setup are reading settings from different passes.

This means that depending on what type of Windows 7 setup you are doing, you need to populate different sections in the answer file. The premium tool for editing the unattend.xml file is Windows System Image Manager (WSIM) from the Windows Automated Installation Kit (WAIK).

The settings that you have to define also depends on if you are using setup.exe to deploy Windows 7, or just using an image utility like ImageX (or ghost, or whatever) to apply an image. I will cover all these scenarios.

Please also notice that you need different answers files depending on what platform (x86 and x64) you are deploying. An answer file for x86 cannot be used for x64 and vice versa.

Scenario 1 – Running setup.exe to deploy Windows 7.

If you boot the default Windows 7 DVD – Setup.exe starts automatically. To have setup.exe pick up an answer file, we just need to named it AutoUnattend.xml and store it in one of the paths that setup.exe looks for answer files in. The most common location is a removable media like a USB stick.

In the sample files for this article you will find a minimal, but fully automated answer file for this scenario. The sample file is for the x86 version of Windows 7 Enterprise when using KMS for activation, joining a WORKGROUP (no Product Key specified in the answer file).

Scenario 2 – Running Imagex to deploy Windows 7.

As mentioned you don’t need to run setup.exe to deploy windows 7, you can boot into a WinPE 3.0 environment and use tools like imagex to apply an image. If you don’t use setup, you need to also create and format the drive before applying the image. The overall process is the following:

  1. Boot on WinPE 3.0
  2. Create and format a partition (C:)
  3. Use ImageX to apply a previously sysprepped image to C:\
  4. Create a bootloader
  5. Copy your unattend.xml file (named Unattend.xml) to C:\Windows\System32\Sysprep
  6. Reboot

In the sample file for this scenario, I have taken the sample file from Scenario 1 and just removed the WinPE pass settings. I could have used the exact same file, for any settings in WinPE pass are simple skipped when using ImageX, but I prefer to have as clean answer files as possible.

Scenario 3 – Running sysprep

You can also prebake the answer file into your image when running sysprep. If you do that, you don’t have to copy it in step 4 in the previous scenario.

The sample file for this scenario are the same as for scenario 2. You can have sysprep use it by either specify /unattend: when running sysprep. Or by storing the unattend.xml file (named Unattend.xml) in the C:\Windows\System32\Sysprep folder before running sysprep. The normal switches for sysprep are /oobe /generalize /shutdown (or /reboot).If we wanted we could also add settings for the Generalize pass for this scenario if we wanted. That section is being read when executing sysprep.

Notes about the answer files.

In Windows 7 the Administrator account is disabled by default. It can be enabled by either specifying the AdministratorPassword value together with Autologon settings, or like most people did in the Windows Vista timeframe, by running a few RunSynchronous Commands in the specialize pass. I selected to use the AdministratorPassword/AutoLogon feature in my samples since I wanted to Autologon anyway.

Also, if you are deploying into a workgroup, like my samples, there is a need to specify an extra account in the unattend.xml, or the Windows 7 setup will stop and prompt youfor a user. In my sample I use a neat trick. Since I have enabled the administrator account, I simply specify that user as the extra account, and I avoid the need for creating an extra user which later may have to be deleted.

/ Johan



Unleash the Power of MDT 2010 Lite Touch – Copenhagen – November 23 – 24

By arwidmark / October 18, 2010

Hi fellow deployment master,

I’m very proud to announce that a dazzling deployment workshop – Unleash the Power of MDT 2010 Lite Touch – is coming to Copenhagen on November 23 – 24.

In just two days you will learn what you need to build a superior deployment solution based on MDT 2010 Update 1. In addition to the many tips & tricks to get Windows XP migrated, and Windows 7 deployed, you also get the following:

– 2 days with real world information from real world deployment experts
– A workbook packed with guidance and additional material
– Videos of the demos that you can play over and over again

Presenters are me (Johan Arwidmark), and Mikael Nystrom, both Microsoft MVP’s in Setup & Deployment.

For more information and registration: Unleash the Power of MDT 2010 Lite Touch

I hope to see you in Copenhagen

Regards / Johan Arwidmark

Ps. Mikael also says hi 🙂  Ds.

Microsoft Windows, Office and MDOP Deployment Workshops

By arwidmark / September 20, 2010

Microsoft Windows, Office and MDOP Deployment Workshops

Amsterdam – 25 Oct | Stockholm – 27 Oct | Helsinki – 29 Oct | Reading – 1 Nov | Rome – 3 Nov | Vienna – 4 Nov

The Microsoft Get On the Bus Tour is taking a winter hiatus to bring you a new tour – the Springboard Series Tour: Microsoft Windows, Office and MDOP Deployment Workshops!  Amsterdam marks our first stop on a 6-city European tour, en route to TechEd Europe, in Berlin, Germany. Are you looking to plan, pilot or deploy Windows and Office? Our workshops will cover the Office 2010, key deployment strategies for Windows 7, the Microsoft Desktop Optimization Pack, as well as show you the value of getting trained and certified in these key products.
Learn why Windows 7 has received rave reviews from IT organizations and is setting records as the fastest selling operating system in history, and find out why so many IT Pros are ready to deploy Office 2010. Give us five hours, and you will have a clear understanding of the tools, tips and tricks you need now to jumpstart the successful deployment and management of your Windows desktop environment today. Come join members of the Windows and Office US Product Teams, as well as local Microsoft Technology Evangelists for technical training, professional networking, and real world guidance. Don’t miss your chance to attend a workshop in the 2010 Springboard Series Tour, register today at www.springboardseriestour.com.

Get your Tour updates first! Follow us on Twitter, @MSSpringboard

Insert Computers Automatically into the MDT Database

By arwidmark / September 17, 2010

MDT 2010 Lite Touch by default doesn’t automatically add the information you specify in the deployment wizard, here is a stored procedure and rules file that will do just that…

This sample will inject the computername you specify in the deployment wizard to the OSDComputerName and Description field in the database, but it can easily be extended to add more information.

Step-by-step instructions

  1. Download the sample files and copy InsertDB.ini to your Deployment Share \ Control folder.
  2. Using SQL Management Studio, modify the first line in InsertComputerName.sql script to match your database name, and then execute the InsertComputerName.sql script to create the InsertComputerName stored procedure
  3. .Assign execute permissions on the InsertComputerName stored procedure to the user you use to run the Lite Touch installation. The user also needs read/write permissions to the database.

    Setting the permissions on the InsertComputerName stored procedure

  4. Modify your rules to ask for the computername (SkipComputerName=NO)
  5. In the Task Sequencer, add an extra Gather action, name it Insert Computer Name, and configure it for full processing with the InsertDB.ini rules file

    Configuring the Task Sequence

Note: To see the newly added computer entry after the Insert Computer Name actions has executed, you need to close and open the deployment workbench. The Deployment Workbench is not very good understanding that you added info to it outside the UI  🙂

/ Johan

Deployment Pre-Conference at TechEd, this time in Europe…

By arwidmark / September 6, 2010

If you are going to TechEd in Berlin this year, make sure to sign up for the Deployment Pre-conference day.

It will be a full day, where we build a complete Windows XP to Windows 7 migration / deployment solution. The presenters are: me (Johan Arwidmark), Mikael Nystrom, Michael Niehaus, Jeremy Chapman, and Steve Campbell. All skilled deployment experts with roots in the real world.

We call it “Experience a REAL Windows 7 Deployment”

I hope to see you there…

/ Johan

1 2 3 15
Page 1 of 15