Galin Iliev's blog

Software Architecture & Development

How to turn Windows Server 2008 R2 into workstation with Aero

After I was using Windows Server 2008 as a workstation for a while I decided to move to R2.

Having the option to boot form VHD it was a nice idea- I could have as many OS-es as I want and they fully utilize the hardware. But one question remained: How I can turn Windows Server 2008 R2 into workstation and having all goodies of workstation including Aero interface.

The default installation seems to have following notable features:

  • Only x64 editions
  • Less driver support than Windows 7
  • No audio
  • Wireless disabled by default (after installing the driver)
  • Cannot select Windows 7 theme even after video driver selection.

So let’s nail those one by one:

Only x64 editions

Well… nothing can be done here. Time to move to x64 bit platform. Fortunately my laptop’s CPU was Intel Core2 Duo and can do it.

Less driver support than Windows 7

Luckily Windows 7 drivers work – as long as they support x64 bit. I had a hard time to find some for my Dell machine though… Note: Windows Vista x64 drivers worked for me as well…

No Audio

This was easy. The drivers were in place (with installation) and only had to play with some services:

  • Windows Audio
  • Windows Audio Endpoint Builder

clip_image001

I just started the first one and there was sound J

Wireless disabled by default

This was tough one (for me). I installed correct drivers. Everything seemed normal except I couldn’t enable the adapter. It was constantly disabled.

clip_image002

After every attempt to enable it remained disabled. In Event viewer I saw the following message:

Application popup: BCMWLTRY.EXE - System Error : The program can't start because Wlanapi.dll is missing from your computer. Try reinstalling the program to fix this problem.

The solution was to add the feature “Wireless LAN Service”

clip_image003

Just go to “Server Manager”, select Features from the tree on the left and select “Add Features”

clip_image004

Enable Aero theme.

This one was tough as well… I had to do several steps:

  1. Install video driver
  2. Add “Desktop experience” feature (together with .NET Framework 3.5.1)
  3. Start “Theme” Windows service.
    clip_image005

4. Select performance options from System applet in Control Panel
clip_image007

5. Select theme from “Personalization” window

clip_image009

Happy binging! :)

Remote Desktops MMC for Windows 7

A while ago I blogged how to re-enable remote desktops MMC for Windows Vista. This feature has different names and it was hard to find initially :) In a comment one reader posted a way to enable it via “Programs and Features” – > “Turn Windows features On and Off” as suggested to search for “Remote Server Administration Tools"\"Role Administration Tools".

With Windows 7 it is different.. again. But this time no file copy and DLL register. First you need to download and install Remote Server Administration Tools for Windows 7.

And then navigate to “Programs and Features” –> “Turn Windows features on and off”:

image

Hope this helps

Ready! Steady! Go!Go!Go! (grab VS2010 beta 1)

and learn WF4/WCF4 :)

VS 2010 Beta 1 has been put for download for MSDN subscribers and it is matter of hours to become available for public download (I will update the post once I have the link).
UPDATE: VS 2010 and .NET 4 Beta 1 is available for download.

Of course there are new things but looks like the focus is not on learning new ways to do old things but really make things easier. Takes a look at this nice story in pictures Developer Division GM Jason Zander posted.

The MSDN Code Gallery site has updated WF 4/ WCF 4 Training kit for all interested in bleeding edge features:

 

Introduction to Workflow 4

In this lab you will get to know the basics of creating, hosting and running a workflow. This lab is also intended to be an introduction to the new workflow authoring constructs in the .NET Framework 4 and Visual Studio 2010, including the new Workflow Designer, expressions, variables and arguments. Additionally, you will explore the use of some basic built-in activities.

 

Introduction to Workflow Services using .NET Framework 4

This hands-on lab is intended to introduce developers to writing workflow services using .NET Framework 4. You will examine the different messaging activities of Windows Workflow, and learn how to configure them to create a distributed application. This lab is built around a specific HR business scenario where candidates submit their applications and are hired or rejected based on an evaluation process.

 

Workflow Designer Programming Model

This hands-on lab introduces you to the designer programming model of Windows Workflow 4. You will learn how to rehost the workflow designer in a WPF desktop application and how to create composite custom designers for your workflow activities.

 

Creating Flowchart Workflows

This lab is intended to be an introduction to the Flowchart paradigm used in Workflow development. In this lab you will learn how to create Flowchart Workflows using the designer, and you will also learn the usage of several of the provided activities and how to create custom activities easily.

 

Monitoring Workflow Services using .NET Framework 4

During the life cycle of an application, developers and system administrators often need to monitor running services in order to perform health checks or troubleshoot issues. The Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) runtimes already come with a built-in tracking infrastructure, making it easy to enable monitoring within your WCF and WF applications. In this hands-on lab you will learn how you can leverage some of the main WF and WCF monitoring features to track application execution and troubleshoot problems with services when necessary.

 

WCF Service Discovery using .NET Framework 4

Windows Communication Foundation 4 includes a new feature that enables service discovery. Service discovery allows you to locate services on the same subnet using ad hoc discovery, or using a proxy to establish connections with servers regardless of where they are. In this lab you will create a simple chat application that will use both methods to learn about available services.

Boot from Virtual Hard Drive (VHD)

What a great improvement :). Now I can freely explore different messy things without having to wait whole night to reboot the virtual machine :)

In Windows® 7, a virtual hard disk can be used as the running operating system on designated hardware without any other parent operating system, virtual machine, or hypervisor. Windows 7 disk-management tools, the DiskPart tool and the Disk Management Microsoft® Management Console (Diskmgmt.msc), can be used to create a VHD file. A Windows 7 image (.wim) file can be deployed to the VHD and the .vhd file can be copied to multiple systems. The Windows 7 boot manager can be configured to boot directly into the VHD.

The .vhd file can also be connected to a virtual machine for use with the Hyper-V Role in Windows Server® 2008 R2.

Here are some interesting articles that could help you to do the trick:

You need to prepare the Virtual OS for the change in hardware from a virtual to a physical environment using the following Sysprep command:
c:\windows\system32\sysprep\sysprep.exe /generalize /oobe /shutdown

Was this information helpful?

Outlook Recently I got the error message and with a smile remembered the funny video showing how developers in Microsoft really shares the users’ pain.

I knew what to do (after saving draft message):
Plan A: Restart outlook and try again.
Plan B: Use Outlook Web Access

But will typical user know what to do without lose data?!

Then I remembered how good error messages are built: they should contain three parts. No less because it cannot provide full information. No more because user is overwhelmed. Exactly three:

  1. Describe what happened – first part briefly describes what went wrong.
  2. Give directions what to fix – user might really know what to fix. It could be just overlooked. Tell them what to change to fix the problem. Even program/PC restart is a solution.
  3. What next?! What if the problem still persist?! – If we are here then the problem is serious. And the user have tried basic scenarios to fix and can call someone for help without feeling stupid/guilty that don’t know how to fix the problem.

On other hand this is extremely useful message:

image

P.S. Plan A did the job :)