Deploying SQL 2008 Express with Advanced Services SP1 on Windows Server 2008 R2


I can’t seem install MS SQL Server 2008 Express with Advanced Services natively on a Windows Server 2008 R2. Why use it? Primary its free like the SQL Express and it has advanced features like of the full SQL Server 2008 as described here:

Cant install, mainly because as of this moment I have not found a downloadable copy of the MS SQL 2008 Express with Advanced Services SP1 from the Microsoft Download site. To install SQL 2008 on Windows Server 2008 R2, it must be already on SP1. I think that the only way I can install this is to do a slipstreamed copy.

Slipstream is a way of infusing the installer and its update so that the installer may already have the update in it upon install. This is very handy for mass deployment and for situations like this where it is required to have an SP1 copy to install.

So here is how I did it:

1. Download the installers:

SQL 2008 Express with Advanced Services installer from here:

SQL Server 2008 Service Pack 1 (SP1) update from here :

2. Merge the installers.

First you must extract the files from the SQL Express installer with the “/x” switch. In my case I put it on the root of my C:\. So to do this open your CMD prompt and type in without quotes: “en_sql_server_2008_express_with_advanced_services_x64.exe /x:c:\SQLServer2008_FullSP1”. Hit enter.

So the syntax goes <INSTALLER> /x:<PATH-TO-EXTRACT-TO>

That command extracts the installer files to the c:\SQLServer2008_FullSP1 directory.

After extraction, a message box will appear prompting us that the extract is now complete.


Now we extract the update and put it in the PCU directory of c:\SQLServer2008_FullSP1

Same syntax, so opening CMD and typing in: SQLServer2008SP1-KB968369-x64-ENU.exe /x:c:\SQLServer2008_FullSP1\PCU. Hit enter.

It is the same thing for the updates, a prompt will appear after extraction.


Then we must copy the setup.exe and setup.rll from the child PCU directory to the root c:\SQLServer2008_FullSP1 directory. We can use robocopy for this:

so with the command prompt still open:

“robocopy c:\SQLServer2008_FullSP1\PCU c:\SQLServer2008_FullSP1 Setup.exe”

“robocopy c:\SQLServer2008_FullSP1\PCU c:\SQLServer2008_FullSP1 Setup.rll”

Then we must copy everything from c:\SQLServer2008_FullSP1\PCU\x64 directory to c:\SQLServer2008_FullSP1\x64 except the Microsoft.SQL.Chainer.PacakgeData.dll. To do that, simply use robocopy with this command:

“robocopy c:\SQLServer2008_FullSP1\PCU\x64 c:\SQLServer2008_FullSP1\x64 /XF Microsoft.SQL.Chainer.PacakgeData.dll”

Please see the results if it looks like this: Note that we skipped one and copied 71 files.

We have to create now the DefaultSetup.ini file in the c:\SQLServer2008_FullSP1\x64 directory.

To do this open up your favorite text editor, mine is notepad then save it as DefaultSetup.ini. Make sure that you choose all files before saving to create the .ini extension and not have a .ini.txt file.

The DefaultSetup.ini file must contain the ff:



3. Run Setup

After the last step above, run the setup.exe in the c:\SQLServer2008_FullSP1 like nothing happend 😀

There ya go, the setup is now running without that prompt that you need to be updated ….

4. Checking

Check if you are really installing 2008 Express with Advanced Services:

After running the install process you may find that you also passed the  Update setup media language compatibility

After the setup is complete you may review the summary log of the installation by clicking the link highlighted in yellow as seen here:


Scroll down to the text file in notepad and look for the PCUSOURCE entry under User Input Settings.

The value must be our PCU directory under c:\SQLServer2008_FullSP1\. This verifies that our installer is already at SP1


There you have it, a slipstreamed install of SQL 2008 with Advanced Services SP1 ready for deployment.

RECAP: Here is the short story of the list of things and commands that we did:


Download the FF and copy to C:\ directory for easy access.

SQL 2008 Express with Advanced Services

SQL Server 2008 Service Pack 1 (SP1) :

Extract and merge the Installer with SP1 (with command prompt)

en_sql_server_2008_express_with_advanced_services_x64.exe /x:c:\SQLServer2008_FullSP1

SQLServer2008SP1-KB968369-x64-ENU.exe /x:c:\SQLServer2008_FullSP1\PCU

“robocopy c:\SQLServer2008_FullSP1\PCU c:\SQLServer2008_FullSP1 Setup.exe”

“robocopy c:\SQLServer2008_FullSP1\PCU c:\SQLServer2008_FullSP1 Setup.rll”

“robocopy c:\SQLServer2008_FullSP1\PCU\x64 c:\SQLServer2008_FullSP1\x64 /XF Microsoft.SQL.Chainer.PacakgeData.dll”

Create DefaultSetup.ini file at c:\SQLServer2008_FullSP1\x64.

; SQLSERVER2008 Configuration File




Run Setup.exe from C:\SQLServer2008_FullSP1\

That’s it!


Backing up Windows Server 2008 DNS Zone Files

This will be quick and sweet. Last night someone asked me to turn re-use an old server from having a catalog installed to just hosting primary DNS zones. So before I make this Active directory integrated DNS server to just a primary or do anything worthwhile I wanted to backup the zones. Well how?

First stop the DNS service by doing this command at the cmd prompt “net stop "DNS Server"

Next, just create a separate copy of the “%WinDir%\System32\dns” in my case C:\Windows\System32\dns directory that contains flat files (text files) of your zones. There are also some samples inside this directory, not required to be included.

Lastly is start the DNS service again by doing “net start "DNS Server"

To restore it just stop the DNS service, copy your backup back to the above directory then start the DNS service again and the zones are restored 😀

I found my first hint on how to do this here:

Well, that’s it! Back to my deadlines, cheers!

PowerShell Management Library for Hyper-V at codeplex

PowerShell management Library for Hyper-V
A project to provide a PowerShell management library for Hyper-V
It does pretty much what it says. Note that a lot of the information available from Hyper-V is only available if Powershell is running with Elevated privilege
At present there are 80 functions in the library, some of these are worker functions which are not expected to be called directly, the others are listed below.

NOTE: The version of PSHyper-V available in the Source Code section is under active developement and is not guaranteed to be stable. If you require a stable release, use 1.00b from the Downloads section.


Finding a VM
Get-VM, Choose-VM , Get-VMHost

Connecting to a VM


Discovering and manipulating Machine states
Get-VMState , Set-VMState , Convert-VmState,
Ping-VM , Test-VMHeartBeat, Shutdown-VM , Start-VM, Stop-VM, Suspend-VM
Get-VMKVP, Add-KVP, Remove-KVP, Get-VMJPEG

Backing up, exporting and snapshotting VMs
Export-VM , Import-VM, Get-VMSnapshot, Choose-VMSnapshot , Apply-VMSnapshot , New-VMSnapshot ,Remove-VMSnapshot, Rename-VMSnapShot, Update-VMSnapshot, Get-VMSnapshotTree, Get-VmBackupScript

 Adding and removing VMs, configuring motherboard settings.
New-VM , Remove-VM , Set-VM , Get-VMCPUCount, Set-VMCPUCount, Get-VMMemory, Set-VMMemory, Set-VMSerialPort

Manipulating Disk controllers, drives and disk images
Add-VMSCSIController , Remove-VMSCSIcontroller
Get-VMDriveByController , Add-VMDRIVE , Remove-VMdrive
Get-VMDiskByDrive, Add-VMDISK , Set-VMDisk, Get-VMDisk
Get-VMFloppyDisk , Add-VMFloppyDisk

Manipluating Network Interface Cards
Get-VMNic , List-VMNic , Choose-VMNIC, Add-VMNIC, Remove-VMNIC , Set-VMNICAddress , Set-VMNICConnection , Get-VMNicport ,
Get-VMnicSwitch, Choose-VMSwitch, New-VMSwitchPort, Get-VMByMACaddress, Choose-VMExternalEthernet,
New-VMExternalSwitch, New-VMInternalSwitch,New-VmPrivateSwitch

Working with VHD files
Get-VHDDefaultPath, Get-VHDInfo, New-VHD, Compact-VHD, Test-VHD,Convert-VHD,Merge-VHD,Mount-VHD, Unmount-VHD

Download it here:

Security Audit Events for Windows 7 and Windows Server 2008 R2 (Excel Download)

I was helping a friend over some events of their company’s Windows Servers, upon searching the event ID’s we saw this from Keith Combs blog:

Its a list of events for Windows Server 2008 R2 on an .xls file:

It has the Categories, event ID and the minimum OS where it will appear.

Cannot connect to a virtual machine on Windows Server 2008 Hyper-v if the VMMS certificate has expired

If you have a problem connecting to a Hyper-V VM with error: Cannot connect to the virtual machine because the authentication certificate is expired or invalid or when you try to start a VM and an error that YourVMNAme failed to initialize with an Unspecified Error “0x80004005”. This is because the Hyper-V Management Service certificate has expired.

This is very fixable by just applying an update: KB967902 for Windows Server 2008 x64 Edition. So if you have your WSUS administration or its a standalone server, better apply this hotfix to prevent what happened to me or to fix this issue.

More info is available where I found the fix here: or download the hotfix directly here:


Windows Vista SP2 Service Pack Clean-up tool

Its a big update yes, raw file says its 577.4 Mb on five languages. If you want to reclaim some disk space after applying the SP2 you can run this update cleanup tool that is included on the SP2 install – compcln.exe

Windows Component Clean Tool (Compcln.exe) can be used to remove the files that are archived after Windows Vista SP2 or Windows Server 2008 SP2 is applied. It also removes the files that were archived after Windows Vista SP1 was applied, if they are found on the system. Running this tool is optional.

NOTE AGAIN: You cannot uninstall Windows Vista SP2 or Windows Server 2008 SP2 after you run this tool on an image.

So to run this tool just go to your Run command or in Windows Shortcut thats (Win + R), then type compcln.exe

This command prompt will appear and all you have to do is type Y for yes.


This will perform cleanup with in a few minutes, better grab a coffee or do this on lunch while you are away.

After the cleanup finishes, the command prompt closes and you the space has been reclaimed. 

More info are available on the Windows Vista Service Pack 2 Deployment Guide at TechNet:

What’s new with Windows Vista SP2

Its here, have you installed your Service Pack 2? I rebooted this morning after last Friday night’s WSUS update push.

The SP2 has just been released for Windows Vista, Microsoft’s main line of operating system. This service pack has been defined by the Microsoft as:

"A service pack is a Windows update that combines new security and performance updates with previously released updates. Installing a service pack helps make sure you’ve got all the updates your PC needs to help make it more reliable, run more smoothly, and even more enjoyable to use. Think of it as a free all-in-one tune up for your PC."

So what is included on this Service Pack?

Hardware ecosystem support and enhancements

  • SP2 adds support for the 64-bit central processing unit (CPU) from VIA Technologies, which adds the ID and vendor strings for the new VIA 64-bit CPU.
  • SP2 integrates the Windows Vista Feature Pack for Wireless, which contains support for Bluetooth v2.1 and Windows Connect Now (WCN) Wi-Fi Configuration. Bluetooth v2.1 is the most recent specification for Bluetooth wireless technology.
  • SP2 improves performance for Wi-Fi connections after resuming from sleep mode.
  • SP2 includes updates to the RSS feeds sidebar for improved performance and responsiveness.
  • SP2 includes ability to record data to Blu-Ray Disc media.

Operating system experience updates

  • SP2 includes Windows Search 4.0, which builds on Microsoft’s search technology with improved indexing and search relevance. It also helps find and preview documents, e-mail (including signed e-mail messages), music files, photos, and other items on the computer. The search engine in Windows Search 4.0 is a Microsoft Windows® service that is also used by programs such as Microsoft Office Outlook® 2007 and Microsoft Office OneNote® 2007. Autotuning Diagnostics in SP2 now interprets current network conditions when implementing Windows scaling. This feature includes full netsh support.
  • SP2 improves Windows Media Center (WMC) in the area of content protection for TV.
  • SP2 removes the limit of 10 half open outbound TCP connections. By default, SP2 has no limit on the number of half open outbound TCP connections.

SP2 also includes a Service Pack Clean-up tool (Compcln.exe) which helps recover the hard disk space by permanently deleting previous versions of files (RTM and SP1) that are being serviced by SP2. The Service Pack Clean up tool can also be run offline while creating slipstream images to reduce the size of the image.

Checkout Windows Vista SP2 at TechNet:

Deploying the Vista SP2 Using Windows Server Update Services

If you are deploying in a controlled environment like me, you may want to do it via Windows Server Update Services. Downloading the 577.4 MB is not practical, specially if you share your Internet connection, right? If you still don’t have WSUS, do checkout my previous post on how to deploy updates using the Windows Server Update Services.

Before deploying, make sure that your clients have already installed these KB’s: KB968279 and KB955430, deploying this is the same as the SP2 (KB948465), but its best to approve of these pre-requisites first before having the SP2 come down the pipe.

So on your WSUS server, you can approve an update by logging in the WSUS, launch your WSUS MMC and then clicking updates then expand all updates. You have to find the KB948465 in the list.







As you may notice on my screenshot a warning sign has already flagged me that I need to install this update or the clients are now requesting for this update.

Lets examine the details by clicking the update. The details are located at the bottom. Yes, this is the update, lets approve it!


To approve the update, right click the update then on the context menu, click Approve.





On the approve dialog box, Select the group that you want to approve the update, on this scenario, Im going to approve this to all of the computers. So I right click all computers then choose Approved for Install




This is a special update, and a License Terms must be accepted to proceed with the update push.












And the approval process continues and finishes. Click close to exit the dialog box.