It’s been almost a year since the last release but I just uploaded DISM GUI 3.5 to the Codeplex site this morning. It contains a few background bug fixes and a few new features. For this version I have kept it compatible with the Windows 7 WAIK and DISM version.
- Added Edition Servicing tab
- Added the ability to apply and unattend file
- Added application servicing tab
It’s not a major release but adds most of the features available in the Windows 7 DISM program. You will notice that there is no “online” functionality to allow it to operate on the running OS. That is something I had planned to put in but was proving hard than I thought with the current version. I’m hoping to include that in version 4.0
Speaking of version 4.0. I don’t have a timeframe to release it yet but I do have some of the features planned.
- Online mode – Allow DISM to be used against the currently running OS.
- Windows ADK compatibility – The next version will rely on the Windows ADK and DISM version included in it.
- WinPE compatibility – I am planning on making the next version work inside WinPE.
- Powershell backend – This one is still up in the air but I may convert the backend to the new Powershell cmdlets instead of relying on DISM.exe.
- There might be more features added but this is what I am planning now. If you have a suggestion add it to the Codeplex site.
So it’s been over 3 months since I posted anything to this blog and some of you may have wondered if I gave up on it. I haven’t given up but I haven’t been posting much because I am working on a huge Exchange upgrade for my employer. We are migrating from 2003 to 2010 and this project has been taking up most of my time. We are consolidating 15 Exchange servers in 7 different countries down to just 6 servers in 3 countries. We are using this consolidation opportunity to also deploy some server redundancy that we never had before (DAG and CAS makes this easy!) too. It’s been a demanding project but we are in the home stretch now. Over the next few weeks I’ll be putting up some posts about Exchange 2010 and things I’ve learned.
Here’s a few links I want to share.
- An excellent Exchange 2003 Mailbox Size script that really helped me when migrating our mailboxes to 2010.
- An informative post by Tony Redmond on enabling the archive mailbox.
- Some information on setting up Kemp Load Balancers with Exchange 2010.
I’m hoping once this project settles down I’ll have some time to work on DISM GUI 4.0. I’ve been collecting the ideas and hoping I can implement some of them.
Recently during our Exchange migration I wanted a way to automate our mailbox moves. Even though PowerShell makes this is very easy to script I couldn’t just use a normal filter because the mailboxes I am moving need go to one of three different databases. I couldn’t use the New-MoveRequest cmdlet with a normal filter because none of the mailboxes had any common attributes to filter on. Instead I created a CSV file with the mailbox name and the target databases. In the past this would have meant many lines of VBscript code but with PowerShell this can all be done with a one liner! Then using PowerShell I read this information in and pipe it over to the New-MoveRequest cmdlet to initiate the mailbox moves.
My CSV file looks like this.
The PowerShell script looks like this.
I also created another one for ad-hoc moves. This Powershell script allows me to specify the CSV file that I want to use instead of hardcoding it into the script.
If you haven’t started using PowerShell for scripting tasks I highly recommend that you start looking into it. It’s got a bit of a learning curve but it’s very powerful once your get a good grasp on it.
We recently got in a new HP Proliant BL460c Gen8 blade with the HP 530FLB NIC. It’s a great piece of hardware but using the NIC in WinPE is not much fun. We recently started using MDT to deploy Windows servers now but no matter what I did I could not get the NIC driver to load in WinPE.
Even though the drivers were imported into MDT and I had rebuilt my boot images it would not load. Finally I ran HP’s driver installation utility from inside WinPE and it came up. That’s when I discovered that the NIC needs the HP Virtual Bus Device driver loaded before it can load the NIC driver. Looking at the PnP IDs that the driver supports I noticed they all start with b06bdrv\l2nd instead of the usual pci_<VenID>. This is because the NIC virtual sits on top of another device.
So why not just load the HP Virtual Bus Device in MDT? That’s what I did but the HP Virtual Bus Device is a system-class driver and by default MDT does not copy system-class drivers into the boot images.
Sure you can configure it to add them but then your boot images will get much larger. My solution was to instead put a copy of the HP Virtual Bus Device (evbd.inf) driver into my MDT boot image using the “Extra directory to add” feature in MDT. I also imported the NIC drivers into MDT as I normally do.
Once the boot image loads press F8 to open a new command window. Navigate to the folder you added to the MDT boot image (it should be right off the root) and enter drvload evbd.inf. After a few seconds the driver will load and the NIC should now be active. It’s not an ideal solution but since we don’t deploy a lot of these servers it works for me. This same process would also apply to some of the other Broadcom NICs used in HP blades and servers like the NC373i and NC382i.
I recently upgraded our MDT 2010 Deployment share to 2012 and ran into an issue with USMT 3. We still have some scenarios where we are deploying Windows XP so USMT 3 is required. Whenever we ran a task sequence that needed the USMT 3 files we would get an error that the files could not be found. I thought this was odd since the USMT 3 CAB file was in the correct location. Or at least it was for 2010.
In MDT 2010 you just had to leave the USMT30_x86.CAB file in the DeploymentShare\Tools\X86 folder and MDT took care of the rest. With MDT 2012 you need to create a USMT3 folder in DeploymentShare\Tools\X86 and then unpack the CAB file into this folder. It will not unpack the CAB file for you anymore. Now MDT will be able to find the USMT files and continue.
Hopefully this helps out anyone else that has done an upgrade from 2010 to 2012.
I’ve just started working on version 4 of DISM GUI and honestly I don’t know what features of DISM to add. So I’m asking the community for some help here.
- What features of DISM that you use often are missing from the GUI?
- What changes to the graphical interface would you suggest?
- Do you use DISM in online mode? If so would having an online mode be a useful feature to add?
Most of my work with DISM GUI revolves around managing drivers and features but I understand my use case is not the same as everyone else’s. I’ve tried to add what the I felt were the most used features of DISM to the application. Leave some feedback here or head on over to the Codeplex site and leave your suggestion there.
I have finally created a CodePlex project for DISM GUI. The latest version (3.1) can be found on the CodePlex site as well as the source code for what will eventually be version 4.0. So for anyone that wants to see the inner workings (and my sloppy code) of DISM GUI head on over to CodePlex to take a look. If you are interested in helping out with the development contact me through the Codeplex site.
From now on I will be keeping all releases of DISM GUI on the CodePlex site and remove it from my Skydrive account.