Stuart Cox’s Tech Punch

Activate Windows from the Command Line

November 21, 2008 · Leave a Comment

I build lots of VPC’s for demos, labs, prototypes, etc.  With the various flavors of Windows out there, I find it hard to find the Windows Activation icon to verify activation.

I found a new tip today to fire Windows Activation from the command line.    This technique works on Windows XP and Windows Server 2003, but does not work on Windows Vista or Windows Server 2008.

No more searching to find the Windows Activation icon!

  1. Click Start > Run
  2. Type “oobe/msoobe /a”
  3. This command triggers the “Out Of Box Experience” activation application, which opens the Windows activation screen. 
  4. If Windows is already activated, it will tell you so, otherwise, you can continue to activate Windows. 

ActivateWindows

Thanks to command-tab.com for this useful tip!  For more info, see How To Activate Windows XP in 5 Minutes or Less.

 


  del.icio.us it! digg it! reddit! technorati! yahoo!

→ Leave a CommentCategories: Windows Server 2003 · Windows XP

Windows Server 2008 – Can’t Ping the Server

November 17, 2008 · 5 Comments

After installing Windows Server 2008, I found I can’t ping the server, even within a “Private Network”.  I like to ping stuff in my spare time, so this was distressing to me.  I suspected to find a firewall issue, but was surprised to find enabling the Network Discovery option in the firewall configuration settings didn’t fix it.

Configure Windows Firewall Settings – File and Printer Sharing

By default, Windows Firewall for WIndows Server 2008 is configured to disallow File and Printer Sharing on the network.  By default Windows Server 2008 firewall is configured with Windows Firewall running, and with File and Printer Sharing disabled.  This blocks ICMP Echo Request packets used by the PING command. You can allow the server to respond to ping requests by doing the following:

  1. Turn off Windows Firewall on the Windows 2008 Server (not recommended)- OR -
  2. Enable the File and Printer Sharing option in Windows Firewall Configuration Settings
    1. Start > Control Panel > Network and Intranet
    2. Under the Windows Firewall section heading, Click the Allow a program through Windows Firewall link
    3. In the programs and ports list, check the File and Printer Sharing option
  del.icio.us it! digg it! reddit! technorati! yahoo!

→ 5 CommentsCategories: Windows Server 2008

WPF XAML Markup – How Do I Preserve Whitespace Characters?

November 11, 2008 · 1 Comment

An issue you’re likely to run into in XAML (WPF, XBAP, and SIlverlight applications) is the need to keep whitespace characters intact in your markup.  By default, XML collapses all whitespace, ignoring strings of spaces, tabs, and return characters inside an XML node, which it graciously converts to a single space.

If you want to include a series of spaces in your XML node markup, you can add a xml:space=”preserve” attrbute to your XML elements.  This attribute  is part of the XML standard.  If you turn it on, it preserves all whitespace appearing inside the XML node, including any hard return characters included inside the XML node.

<Button Name="btnSample" xml:space=preserve">Respects my      spaces
and carraige return</Button>
  del.icio.us it! digg it! reddit! technorati! yahoo!

→ 1 CommentCategories: .Net · C# · Silverlight · WPF

Virtual PC / SQL Server – Restore Database Failure – Media Family Incorrectly Formed

October 16, 2008 · 2 Comments

I ran into a problem with SQL Server restore operations recently.  I got burned for quite a while, because I thought I had a problem with my SQL Server 2000 and SQL Server 2005 installation, a SQL Server or O/S version issue, or a problem with my database backup file.  Small SQL backup files restore fine, but large backups fail on the restore on VPC images

When I restored the large backup files, ISQL RESTORE DATABASE commands fail with the following symptoms:

  • Msg 3241, Level 16, State 37, Line 1 The media family on device ‘C:\Temp\MyLargeDatabase.bak’ is incorrectly formed. SQL Server cannot process this media family.
  • The media set shows a Backup Set Name of *** INCOMPLETE ***
  • RESTORE HEADERONLY FROM DISK=’C:\Temp\MyLargeDatabase.bak’ returns BackupName of *** INCOMPLETE ***, Position = 1, the rest of the fields are NULL


The Problem

Virtual PC Shared Folders corrupt files!  Especially large files.  Small files seem to work fine.  I’ve heard reports of problems with files over 1GB to 4GB in size.  My database was around 8GB.

You get the errors shown above when you reference a file across a VPC Shared Folder, or when you create a local VPC file copy by copying a file to your VPC disk over a Shared Folder connection.

The Solution

Copy or reference files using a traditional networking file share between the host and guest, and avoid using Shared Folders for large files (or altogether).

Troubleshooting

If you think you may be having a similar issue, you can use a tool like SlavaSoft’s fsum to perform checksum comparisons file on the host and guest systems to verify what’s going on.  Or you can take my word for it and save yourself the trouble.  I’ve experienced this (the hard way) with Virtual PC 2007.


  del.icio.us it! digg it! reddit! technorati! yahoo!

→ 2 CommentsCategories: SQL Server · Virtual PC · Virtualization

SharePoint 2007 (MOSS) – How To Determine Service Pack Version

October 15, 2008 · 1 Comment

So, what version of SharePoint 2007 is on this server?  Sounds like an easy question, doesn’t it?  Oh, I forgot, this is SharePoint!

SharePoint Server 2007 (including MOSS 2007) or WSS 3.0

Correct Methods

  • Central Administration > Operations > Servers In Farm > Database Schema Version – You will see the Database Schema Version in the top of the screen and a list of servers with the version numbers listed in the relevant column against each server in the farm
  • Site Settings > Modify All Site Settings > Site Information > Database Schema Version - You will see the schema version of the site content database
  • Query the Versions table of the farm configuration database – The entries in this table will show the version number and the date it was applied to the farm

Misleading Methods – The following methods are documented all over the web, but your results may be misleading

  • IIS Web Site Properties > HTTP Headers Tab >  Custom HTTP headers box which displays a version number – This shows the build version of MOSS at the time the Virtual Directory [Web Application] was created, which is probably not what you’re looking for.
  • Add / Remove Programs - Select Microsoft SharePoint Server 2007 or Windows SharePoint Services 3.0 > Click here for support information.  This will show the current version of the software installed on a WFE server, but it does not always update and may differ from other servers on the farm.  For better results, use the methods listed above instead.
Cumulative Update KB956056 & KB956057 12.0.0.6327
Infrastructure Update KB951695 & KB951297 12.0.0.6318
SP1 + KB948945 12.0.0.6303
SP1 + KB941274 12.0.0.6301
SP1 + KB941422 12.0.0.6300
SP1 12.0.0.6219
October 2007 public update 12.0.0.6039
August 24, 2007 hotfix 12.0.0.6036
RTM 12.0.0.4518
Beta 2 12.0.0.4017
Beta 2 TR 12.0.0.4407
Office 12 PDC Pre-beta 12.0.0.311

 

Running a Prior Version Of SharePoint?

If you’re unfortunate enough to be running an older version of SharePoint (SharePoint Portal Services 2003, 2001, SharePoint Team Services, or WSS 2.0), please see SharePoint Portal Services / Team Services – Determine Service Pack Version.

References


  del.icio.us it! digg it! reddit! technorati! yahoo!

→ 1 CommentCategories: MOSS 2007 · SharePoint · WSS 3.0

SharePoint Portal Services / Team Services – Determine Service Pack Version

October 15, 2008 · 1 Comment

If you’re unfortunate enough to be running an older version of SharePoint Portal Services or WSS 2.0, here’s some version info to help you figure out what version is running.

SharePoint Portal Server (SPS) 2003

Control Panel > Add/ Remove Programs > Microsoft Office SharePoint Portal Services > Click Here for Support Information.
- OR -
Locate the mssrch.dll file (located in \Program Files\SharePoint Portal Server\Bin), right-click > File Properties > Version and check the version number:

SP3 11.0.8168.0
SP2 11.0.8126.0
SP1 11.0.6715.0
RTM 11.0.5704.0

 

Windows SharePoint Services (WSS) 2.0

Control Panel > Add/ Remove Programs > Microsoft Windows SharePoint Services > Click Here for Support Information. Note the version numbers:

SP3 11.0.8173.0
SP2 11.0.7969.0
SP2 Beta 11.0.6551.0
SP1 + KB887981 11.0.6411.0
SP1 11.0.6361.0
RTM 11.0.5608.0

 

SharePoint Portal Services (SPS) 2001

Locate the mssrch.dll file (located in \Program Files\Common Files\Microsoft Shared\MSSearch\Bin), right-click > File Properties > Version and check the version number:

SP3 10.0145.7329
SP2a 10.0145.6011.5
SP2 10.0145.6011.0
SP1 10.145.4629.0
RTM 10.145.3914.3

 

SharePoint Portal Team Services (SPTS)

10.0.2627.01 is the version with no service packs. 

In the Administrative Tools menu, you will see a link to Microsoft SharePoint Administrator. This will display a web page, where you can see the version number of the virtual server(s), e.g., 5.0.2.2623. The ISAPI filter is fpexedll.dll.

 

Running SharePoint 2007 (MOSS)?

If you’re lucky enough to be running an newer version of SharePoint (SharePoint 2007, MOSS 2007, or WSS 2.0), please see SharePoint 2007 (MOSS) – How To Determine Service Pack Version.

References


  del.icio.us it! digg it! reddit! technorati! yahoo!

→ 1 CommentCategories: SPS 2001 · SPS 2003 · SharePoint · WSS 2.0

WPF / WF – What Is A Dependency Property?

September 25, 2008 · 4 Comments

A new type of property, called a dependency property, was added to the .Net Framework with the release of .Net 3.0.  Dependency properties are used in both Windows Presentation Foundation (WPF) and Workflow Foundations (WF).  They are very similar in both frameworks, but are used for different purposes.

Dependency properties provides the plumbing for property value resolution, change notification, data binding, styling, validation, etc. for properties exposed in Windows Presentation Foundation (WPF) UI elements and Workflow Foundations (WF) custom activities.  Each dependency property is registered with a central repository that handles the change event notifications for you. 

Key Point – The Value of Dependency Properties Are Resolved

The ultimate goal of a dependency property, like any property, is to manage state.  But unlike normal .Net properties, the local property value is not stored in an instance variable. 

Instead, dependency properties are registered with the dependency property framework, and the underlying property value is resolved – meaning the value is determined by the dependency property framework based on rules defined by the property registration.

How To Create A Dependency Property

All WPF UI elements and Workflow Activities are derived from a high-level base classes called DependencyObject, which provides the basic functionality required to implement dependency properties.

public class MySampleControl : Control
{
    // Step 1: Register the dependency property 
    public static readonly DependencyProperty SpecialBrushProperty =
            DependencyProperty.Register("SpecialBrush", typeof(Brush),
            typeof(MySampleControl));

    // Step 2: Provide set/get accessors for the property
    public Brush SpecialBrush
    {
        // IMPORTANT!!
        // -----------
        // Dependency property accessors should not include custom logic 
        // because the framework may call the base.GetValue() and 
        // SetValue() methods directly
        get { return (Brush)base.GetValue(SpecialBrushProperty); }
        set { base.SetValue(SpecialBrushProperty, value); }
    }
}

As show in the code, there are two steps involved in creating a dependency property:

  1. Create a static field to hold a DependencyProperty object
    • By convention, the field should be named with the normal property name, followed by a “Property” suffix
    • This field will not contain the value of the property.  It simply defines the property that is registered with the dependency system
    • This field should be defined as a public, static, read-only field
      • The property must be available at all times, possibly shared among classes
      • The field is defined with the read-only keyword, meaning it can only be set in the static constructor of the type.
    • The field must be instantiated with a call to the static DependencyPropert.Register() method, passing:
      • The name of the property
      • The type of the property 
      • The type of the class that owns the property

      • Optionally, metadata used to define how the property is treated by the WPF framework
        • Meta-data flags to specify how the property affects the layout of the element (AffectsMeasure, AffectsArrange, AffectsRender, etc.)
        • Callbacks for handling property value changes (PropertyChangedCallback)
        • Callbacks to define custom value logic (CoerceValueCallback) 
        • Callbacks to validate values (ValidateValueCallback)
      • Optionally, metadata used to define how the property is treated by the WF framework
        • Include DependencyPropertyOptions enumerated value to specify additional characteristics for the property (ReadOnly, MetaData, etc.)
  2. Create property accessors (get / set)
    • Call DependencyProperty.SetValue() and GetValue() methods to set local values
    • DependencyObject is a high-level framework base class for WPF UI elements and WF activities
    • DependencyObject exposes the GetValue() and SetValue() methods

Isn’t That A Lot of Code for a Property?

At first glance, yes, this looks like an extremely complicated way to declare a property.  OK, at second glance, it’s still pretty complex.  But once you understand the power of dependency properties provide, especially in the Windows Presentation Framework (WPF), they’ll become a welcome addition to your coding toolbox. 

The convention takes a little getting used to. But after you’ve created a few, it comes quite naturally.  Visual Studio also includes some snippets to help add dependency properties:

  • Insert Snippet > NetFX30 > Define a DependencyProperty
  • Insert Snippet > Other > Workflow > DependencyProperty > Property

Subtle Differences Between in WPF and WF

While WPF and WF both use a similar dependency property frameworks, they are not identical!!

WPF UI elements and WF activities derive from a base DependencyObject class, and use a DependencyProperty class to register properties and get/set property values.  Despite the shared names, they are not the same classes!!

  • DependencyObject and DependencyProperty classes used by WPF reside in the System.Windows namespace
  • DependencyObject and DependencyProperty classes used by WF reside in the System.Workflow.ComponentModel namespace

Though their usage and function are very similar, they are not directly related to one another.

How are Dependency Property Values Resolved?

Property values for dependency properties are resolved automatically by the framework according to the following order of precedence:

  1. Property system coercion
  2. Active animations or animations with a hold behavior (WPF)
  3. Local value
  4. TemplateParent template properties (WPF)
  5. Implicit style (WPF)
  6. Style triggers (WPF)
  7. Template triggers (WPF)
  8. Style setters (WPF)
  9. Default (theme) style (WPF)
  10. Inheritance
  11. Default value from dependency property metadata

Note that the local value is 3rd in the order of precedence.  This means that a property may have a value, even if a local value for the property has never been set.  Also, if a property does have a local value, it may be overridden by higher level precedence items like an animation or data binding.

When Should I Use Dependency Properties In WPF?

Dependency properties are one of the most important concepts within WPF.  In WPF, dependency properties are required to support:

  • Data Binding
  • Animation
  • Styling
  • Value expressions
  • Property invalidation
  • Per-type default values

In short, it makes sense to expose dependency properties any time you expose a property for a custom UI element or control. 

When Should I Use Dependency Properties In WF?

Dependency properties are not used as heavily in Workflow Foundations (WF) as they are in Windows Presentation Foundation (WPF) , but they are still an important part of the WF framework.  They are used primarily when developing custom workflow activities that expose properties to support the following scenarios:

  • Activity Binding
    • This is the most common use of dependency properties in WF
    • Allows activities to expose properties that can be used to bind state to another activity
    • For example, binding the input of one workflow activity to the output of another workflow activity
  • Attached Properties
    • Attached properties are used to create a parent activity that can manage the state of it’s child activities
    • For example, the Conditioned Activity Group can attach a When property to each child
  • Meta Properties
    • Meta properties are defined by including new PropertyMetadata(DependencyPropertyOptions.Metadata) in the DependencyProperty.Register() method call 
    • Meta properties are set at design time and cannot be changed at run-time

    • Meta properties exist to guarantee the integrity of an activity
    • For example, at runtime, you can’t change the InterfaceType of an CallExternalMethod activity because InterfaceType is a meta-property

Sources

  del.icio.us it!

digg it!

reddit!

technorati!

yahoo!

→ 4 CommentsCategories: .Net · C# · Visual Studio · WPF · Workflow

WPF – Create Irregular (Non-Rectangular) Borderless Windows

September 19, 2008 · 2 Comments

With Windows Presentation Foundation (WPF), it’s easy to craft irregular, non-rectangular top-level windows without borders to create a unique splash screen or a gadget-style user interface:

  • Modify the Window Properties
    • Set AllowTransparency property to true.
    • Set WindowStyle to None to remove window chrome
    • Set Background to Transparent
  • Add support for moving and closing the window if needed
    • Use the Window’s DragMove() method to allow users to reposition the Window
    • Add a UI element to allow users to close the window
void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    // DragMove handles all the window placement automatically!
    this.DragMove();
}

  del.icio.us it!

digg it!

reddit!

technorati!

yahoo!

→ 2 CommentsCategories: .Net · C# · WPF

SQL Server Reporting Services – Url Parameters in SharePoint Integrated Mode

September 17, 2008 · 16 Comments

SQL Server Reporting Services 2005 and 2008 added a new SharePoint Integration mode, which allows reports to be stored and managed in a SharePoint 2007 portal.  Data connection, reports, security, report subscriptions and notifications are all managed in SharePoint 2007. 

Advantages Of SharePoint Integrated Mode

In SharePoint Integration mode, reports can be rendered using Reporting Services web parts.  These web parts can be added to pages throughout your site.  You can link report web parts to filter web parts, to provide parameters to one or more reports on a page, which allows you to create Reporting Services dashboards.  You can even mix and match them with Excel Services charts, spreadsheets, and pivot tables on a single dashboard page.  Powerful stuff!!

RSViewerPage and the Report Viewer Web Part

When you configure Reporting Services to run in SharePoint Integration Mode, reports are displayed using the /_layouts/ReportServer/RSViewerPage.aspx page by default.  This page provides an a SharePoint look and feel, and integrated navigation back to your SharePoint site.  It leverages the Report Viewer Web Part to display the report.  The Report Viewer Web Part has some very nice features:

  • An integrated SharePoint look/feel
  • Cookie crumb navigation back to your site, MySite, and MyLinks
  • A collapsible parameter panel to the right of the report
  • A nice toolbar with zoom and page navigation
  • An Actions menu on the toolbar, allowing users to:
    • Export to various formats
    • Customize the report using Report Builder
    • Create report subscriptions

SSRSReportViewerWebPart

HTML Viewer in Native Mode and SharePoint Integrated Mode

When you configure Reporting Service to run in Native Mode, reports are displayed using an HTML Viewer interface that is built into Reporting Services.  The HTML Viewer provides all of the basic functionality users required to view, navigate, and print reports. It also provides many Url parameter options to control report parameters and rendering rendering – options that are not available when viewing reports using the RSViewerPage page and the Report Viewer Web Part.

Yes, You Can Use the HTML Viewer in SharePoint Integrated Mode
When you configure Reporting Services to run in SharePoint Integrated Mode, it’s your choice.  You can use either the RSViewerPage or the HTMLViewer to view your reports.  The look and feel of the HTML Viewer isn’t as nice as the RSViewerPage interface, but it’s equally functional, and it provides a lot of Url options that can’t be duplicated using the RSViewerPage.

SSRSHTMLtViewer

In the HTML Viewer, the report parameter options are displayed at the top of the page (the Report Viewer Web Part shows them on the right-hand side of the report).  You can use the HTML Viewer user interface to view the report, change parameters, collapse parameters, zoom, print, export, etc.  When you use the HTML Viewer to view your report, you lose the SharePoint UI look and feel, cookie crumb navigation, MySite and MyLinks integration, and Report Builder and Subscriptions integration.  You gain the Url options we’ll be discussing later in this post – options that are not supported by the RSViewerPage or the Report Viewer Web Part.

How To Display Reports Using the HTML Viewer Page

You still have the ability to call reports using the HTML Viewer page by providing a link to the ReportServer Virtual Directory with a full path to the rdl file, like so…

http://myrsserver/reportserver?http://portal/reports/reportslibrary/regional%20sales.rdl&rs:Command=Render

When you view your report in this manner, you are bypassing the SharePoint Integrated RSViewerPage.aspx page and the web part, and viewing the report using the native mode HTML Viewer.  The rs:Command=Render Url parameter instructs reporting services to display the report. 

Passing Report Parameters in the Url

When you provide a link to the HTML Viewer, you can use the parameter support in the HTML Viewer to control the display of the report.  Assume a report that accepts 3 parameters:

  • Region (integer)
  • StartDate (date)
  • EndDate

By adding Url parameters on the end of the HTML Viewer Url, you can easily pre-populate the report parameters for the user.

http://myrsserver/reportserver?http://portal/reports/sample%20reports/departmental%20sales.rdl&rs:Command=Render&region=2&startdate=9/16/2008&enddate=9/17/2008

As you can see, with this sort of report, you can provide a flexible report that can be used for multiple purposes.  You can easily swap out these links in code to insert the department and dates appropriate in the context of the application displaying the links.  Parameter values in the Url override default parameter values.

If all the parameters are supplied by Url or default parameter settings, the report is rendered automatically, without any further action required from the user.  Nice!!

Passing Report Rendering Instructions in the Url

Using the HTML Viewer, you can also control the rendering of the report.   You can set the rendering format (HTML, PDF, EXCEL, CSV, etc.), the zoom level, and a bookmark or default page displayed in the report. You can also toggle the appearance of toolbars, parameters, and the document map.  You can even provide default search criteria to display and modify the style sheet used to render the report, or set the report to display a specific page.

As an example, the following link will show the report at Whole Page zoom level, with parameters collapsed and document map displayed, with the last page displayed by default.

http://myrsserver/reportserver?http://portal/reports/sample%20reports/departmental%20sales.rdl&rs:Command=Render&rc:Zoom=Whole%20Page&rc:Parameters=collapsed&rc:DocMap=true&rc:Section=999

In the HTML Viewer, there are many options available that can be used to controlling report rendering.  This is a short list of the of the ones you’re likely to find useful:

  • rs:Format – Rendering modes you can pass are HTML3.2, HTML4.0, MHTML, IMAGE, EXCEL, WORD, CSV, PDF, XML, defaults to HTML4.0
  • rc:Zoom – Specified in percentages, supports Page%20Width and Whole%20Page, defaults to 100%
  • rc:Toolbar – True/False, used to show/hide the toolbar, defaults to true
  • rc:Parameters – True/False/Collapesed, used to show/hide/collapse the parameters in the toolbar, defaults to true
  • rc:DocMap – True/False, used to show/hide document map, defaults to true (not shown unless report has document map)
  • rc:Section – Specifies default page number to display, defaults to 1
  • rc:BookMarkID – Jumps to a specific bookmark in a report
  • rc:FindString – Provides search criteria to the report and finds the first instance of the string specified

Links For More Information

For more information on Url parameters available for the Reporting Services HTML Viewer and Report Viewer Web Part, check out these links:


  del.icio.us it! digg it! reddit! technorati! yahoo!

→ 16 CommentsCategories: MOSS 2007 · Reporting Services · SQL Server · SharePoint

Virtual PC 2007 – Installing Vista / Windows Server 2008 Sound Drivers on VPC’s

September 10, 2008 · 6 Comments

When building Windows Vista and Windows Server 2008 VPC’s, I found it is sometimes difficult to get the correct device driver for the sound card installed.  After a few fruitless Google searches, I found lots of people with this problem and few solutions.  I finally found a blog post that gave me the help I needed.  Thanks to Greg Low Bit Bucket for his blog post, Greg Low’s Bit Bucket – Playing videos and sound in Windows Server 2008 using a Virtual PC (VPC).

First, as Greg said, if you’re using Virtual Server, you’re out of luck.  Virtual PC 2007 emulates a sound card, but Virtual Server doesn’t.  I’m not sure about Hyper-V.  If anyone has any findings on Hyper-V sound card emulation, please leave a comment and let us know what you found out.

Virtual PC 2007 Service Pack 1

The service pack has new sound emulator drivers for Vista and Windows Server 2008.  Be sure to install it and setup your VMC as a Windows Vista or Windows Server 2008 virtual machine.  As far as I can tell, the only difference between the operating systems you pick are the sound drivers and the memory allocation.  I normally tweak the memory allocation anyway.

Installing the Sound Drivers

To install the sound drivers, you need to install Virtual Machine Additions first, reboot, and then install the sound drivers from the C:\Program Files\Virtual Machine Additions folder on the VHD.

  1. Install Virtual Machine Additions (File > Install or Update Virtual Machine Additions).  This will mount a virtual drive and run a setup program to install the VM additions.
  2. After installing the software, reboot the VPC as directed
  3. If you get the Found New Hardware dialog, you can point it to the C:\Program Files\Virtual Machine Additions folder to install the drivers from there
  4. If you don’t get the Found New Hardware dialog (you disabled it because it was bugging you to death), you can install the device driver from the Device Manager
    1. Open the Device Manager (Start > Control Panel > Device Manager)
    2. Under the Other devices, you’ll see a yellow icon indicating you have a problem with the Multimedia Audio Controller
    3. Right-click the Multimedia Audio Controller and select the Update Device Driver option
    4. Select the option to “Browse my computer” and point it to the C:\Program Files\Virtual Machine Additions folder
    5. Click Next to install the device drivers
  5. After the device driver setup is complete, your sound should start working, and you’ll no longer have an annoying device driver warning when you startup your VPC

Installing Windows Media Player on Windows Server 2008

Windows Server 2008 does not have Windows Media player installed by default.  If you want to get streaming media audio running, you’ll need to install it.  To install the Media Player, you need to install the “Desktop Experience” feature.

The Desktop Experience feature enables a bunch of stuff that is by default present on a Vista workstation, but is not included by default on a Server 2008 installation.desktop OS.  Most importantly it includes Windows Media player, Themes, and the Aero related features.

  1. Open Server Manager (Start > Administrative Tools > Server Manager)
  2. Select Features > Add Features
  3. Check the Desktop Experience feature and click Next
  4. Click Install to install the feature
  5. Reboot as directed
  6. When the machine comes back up, WIndows Media Player will be there

After installing the Desktop Experience on Windows Server 2008, Windows Media Player will be available.  Themes and Aero will be installed but disabled, but I don’t need them bogging down my VPC anyway.

Sources

Greg Low’s Bit Bucket – Playing videos and sound in Windows Server 2008 using a Virtual PC (VPC)


  del.icio.us it! digg it! reddit! technorati! yahoo!

→ 6 CommentsCategories: Virtual PC · Virtualization · Windows Server 2008 · Windows Vista