Customizing Windows Help and Support in Windows 7

During my TechEd sessions I noticed that hardly anyone succeeded to customize Windows Help and Support. I think this is the most logical place for users to start searching for support, it seems very hard for OEMs and Enterprises to enter their information in this section of the operating system.

If you brand you PC. Where would you add your information for users to find support?

I think the answer to this one is simple: In the built-in Help system.

Practice has proven that this hardly ever happens. Ever since I used Windows there has been a registry location to add OEM information in the OS. That information then appears with the system properties when requested.

Adding this information is simple. Just add the following values in the registry and you’re set:

HKLM\Software\Microsoft\Windows\CurrentVersion\OEMInformation

  • Manufacturer (string)
  • Model (string)
  • SupportHours (string)
  • SupportPhone (string)
  • SupportURL (string)
  • Logo (string)

The Logo value points to the location of a bitmap with a maximum size of 120 x 120 pixels.

Customized System Properties Page

This customization currently is the only mandatory location for OEMs and system builders to brand their systems. Personally I think they don’t care, because no user will ever find the information anyway.

The only logical location for an ordinary user who needs help while using Windows to me is the Help and Support link located in the start menu. The default view in Windows 7 hardly shows any useful information, but allows a user to search for all sorts of information in the Windows Help database.

As the system administrator you can easily modify two pages in Windows Help that are know as the Windows Help Home page and the escalation page that can be reached by clicking “More information” in the bottom of the screen.

DefaultHelpHomeDefaultHelpEscalation

The mission to change Windows Help and Support may seem hard at first. And that is for a number of reasons:

  • Windows Help files are created in AML or Assistance Markup Language. This is a mixture of HTML and XML. Experience has proven you will hardly find anyone who masters this language. Even though I noticed that HP must have one, as they have a beautifully crafted Help customization in place on their OEM branded machines. Information about AML can be found in the Help Authoring Guide that comes with the Windows AIK and Windows OPK.
  • Windows Help files must be compiled before they can be implemented. The help compiler may be hard to find when you mostly work with 64 bit systems. This is because the compiler is not there when you install the Windows AIK or Windows OPK on these systems. When you install the Windows AIK or Windows OPK on a 32-bit system, the compiler is there in the folder C:\Program Files\Windows AIK\SDKs\Help Compiler or C:\Program Files\Windows OPK\SDKs\Help Compiler, depending on the installed installation kit. The Help Compiler installed on a 32-bit system will work on a 64-bit system if you just copy the files to the 64-bit system.
  • To enable Help Customization you must install a Windows feature. For some reason I still don’t understand, Microsoft has decided to create two features for Help Customization. One for OEMs and System Builders, and one for corporations. But customizations have a separate URL to insert the customization, but the result looks the same from the end user perspective.

When first investigating the possibility to customize Windows Help and Support, I noticed that the information in the Windows OPK and Windows AIK is not very clear. But it can be done. Especially when you start from the sample files that come with the Windows AIK and Windows OPK.

The sample files that come with these packages can be found in the folder C:\Program Files\Windows AIK\Samples\Help Customizations or C:\Program Files\Windows AIK\Samples\Help Customizations, depending on the installed installation kit. In this folder you will find the following contents:

  • A file HelpConfig.XML
  • A folder structure:
    • Fabrikam Source
      • En-us
        • HelpHome
          • Topics
          • Resource
        • Escalation
          • Topics
          • Resource

The files in the Fabrikam Source folder are there to complete the set of compiled help files. For this case we will copy these files to a folder C:\HelpSetup\en-us. If you are working with the Windows AIK, all file names have the prefix corporate_. When working with the Windows OPK, all files have the prefix OEM_.

Copy both the HelpHome and Escalation folders to C:\HelpContent. From now on we will only work with the contents of these two newly created folders.

In both folders named Topics under HelpHome and Escalation, you will find an XML file that contains readable in formation about Fabrikam in the AML format. For HelpHome this is HelpHome.xml and for Escalation this is Escalation.xml. You can edit the text in XML to reflect your company information.

Both Topics folders contain the artwork for Fabrikam and a RSS file. You can replace the PNG file with a file that contains your logo as long as it has the same pixel size.

After you have edited the contents of the XML files, you can compile the help content for HelpHome and Escalation.

Make sure you have the Help Compiler available on the computer (see the third bullet above). Then run the following commands:

Apcompnt.exe -p C:\HelpContent\HelpHome\HelpHome.h1c -o C:\HelpSetup\en-us\HelpHome.h1s

Apcompnt.exe -p C:\HelpContent\Escalation\Escalation.h1c -o C:\HelpSetup\en-us\Escalation.h1s

This creates the full set of compiled help files in C:\HelpSetup\en-us. If you are working with another language then English, rename the en-us folder according to your language standard. In the Netherlands the folder would be named nl-nl.

Now we have to prepare a file named HelpConfig.XML to tell windows where the compiled help files are located and where the contents should be inserted in the help file. The file HelpConfig.XML that can be found in C:\Program Files\Windows AIK\Samples\Help Customizations or C:\Program Files\Windows OPK\Samples\Help Customizations. Open the file in Notepad.

In the contents of the file you will find 2 settings that are of concern in this case:

  1. A URL referring to the location of the compiled help files
  2. The locations where HelpHome and the Escalation pages will be inserted in Windows Help and Support

The location for the compiled help files in the sample HelpConfig.xml file is \\YOURMACHINENAME\Fabrikam_Content\. Replace this text with the location of the compiled help files (f.e. C:\HelpSetup or \\<systemname>\HelpSetup).

The location where to insert the custom help content is referred to in urls with the mshelp:// prefix. You will notice that the two urls with this prefix say mshelp://oem. This is the prefix for OEMs that use the OPK to customize Windows Help. If you are running the Windows AIK you have to change these prefixes from mshelp://oem to mshelp://corporate. If you are running the Windows OPK, you can leave these URLs alone.

Now save the file as C:\Windows\Help\HelpConfig.xml on the system(s) that will get the customized Help and Support feature.

With all files in place you are now ready to customize Windows Help and Support by enabling a Windows Feature on the machine. When using the Windows AIK, the feature is called CorporationHelpCustomization. If you are working with the Windows OPK the feature name is OEMHelpCustomization.

You can enable the feature with DISM from the command line as follows:

  1. Start CMD.exe with Administrative privileges
  2. When using the Windows AIK, run the following command:
    dism /online /enable-feature /featurename:CorporationHelpCustomization
  3. When using the Windows AIK, run the following command:
    dism /online /enable-feature /featurename:CorporationHelpCustomization

This will install the feature and customize the Help Home and Escalation pages for Help and Support.

If the command fails, it will refer to dism.log for more information. That file will refer to CBS.log, where you will find the actual reason why the installation of the HelpCustomization feature failed.

FabrikamHelpHomeFabrikamHelpEscalation

If you are customizing the Help and Support feature from an automated installation, then you have to make sure that the compiled help files and HelpConfig.XML are in place on the installing system. You can do this from the $OEM$ folder and then enable the feature in the unattend.xml file.

I hope this explanation will enable more people to create a branded Help and Support feature that enables their users more easily find support information on their corporate systems.

Posted in Customizations, Windows 7 | 17 Comments

Is Windows 7 RTM so good that SP1 needs no real improvements?

Yesterday, Microsoft started the announcements about Windows 7 and Windows Server 2008 R2 SP1. The one thing that struck me was the fact that Windows 7 will only get some minor updates and bug fixes from the Service Pack. Even though Windows 7 is sweet and looks very good from the beginning, I think there still are a few rough edges in the OS to work on. I was really hoping that Microsoft did some work to add some more sweetness to Windows 7. But I’m afraid that we have to wait a little bit longer. Here is my shortlist of issues to be fixed or better said features to be finished and enhanced in an upcoming update of the OS.

1. Libraries

Libraries in Windows 7 are a wonderful thing as long as your data is on the local system or made available offline with the offline files option. The problem is that this is exactly where the story ends. Many people have been plagued with the dreadful "this location cannot be added because it is not indexed" message when they try to add a network shared folder to their libraries. The current solutions are:

  1. Make the added location available offline
  2. Index the data on the server (therefore it must be a Windows Service)
  3. Complete disable the search feature for all libraries in Group Policy and lose file search in the start menu at the same time.
  4. Use an unsupported method by fooling the OS into thinking the data is local while it isn’t.

Why not have an option to disable the indexing requirement per library? This is much less intrusive than option C, that removes more functionality than any user would want. You can also read about this in my blog at www.xpworld.com.

2. Libraries for system admins

Libraries are nice from the end-user perspective, but what happened to the administrator’s perspective? Why can administrators still only redirect the My Document, My Pictures, My Music etc. folders and not configure the complete contents of the library. I would have loved to add the departmental share to the documents library for my users from a policy instead of fixing this by hand on each system. When I can configure libraries from Group Policy? Microsoft please also add the option to export and import library configurations as implemented in the Win7 Library Tool?

3. Search support for Distributed File System (Dfs)

Distributed File System was once one of Microsofts first attempts to virtualize the network. Nowadays it seems that Microsoft is moving away from this really useful feature that allows administrators to hide the name of the actual file server from a user by creating a Dfs share. Windows Search that is needed to add file locations to a library doesn’t work when you connect the shared folder through Dfs. Users have to connect to the actual file server and now the advantage of Dfs is gone. Microsoft, please add Dfs support to Windows Search.

4. Multiple sound devices per source in Windows

I have been a Media Center fan for quite some time. And this one really bugs me. In Windows XP Media Center I was able to connect my TV to the stereo jack of my PC and my receiver to the SPDIF connector and then play my media to both outputs at the same time. I then got stereo from the TV and Dolby Surround or DTS from the receiver. Since Microsoft changed the sound driver model for Windows Vista, I now have to choose which output I like to use. Now my Media Center is playing through the receiver all the time, because switching requires me to use the mouse or walk through the Media Center wizard to reconfigure the output. Microsoft, please enable multiple sound devices for a single application in Windows 7? Especially for Media Center.

5. Why did my system wake from sleep?

Now that Windows finally has a decent sleep option, most of my systems are no longer switched off when I don’t use them. The only problem is that these systems sometimes seem to wake up for no reason at all. I already found out that most of the time the cause of the awakening can be found in the event log. I also found out that PowerCfg.exe allows to configure what devices can wake a system from sleep. Why did I have to dig into a command line to list the devices that can wake up my systems and fix this? This should be part of the control panel applet that manages power features in Windows 7. Microsoft, please extend the Power Management GUI with an option to configure devices that can wake the system from sleep.

This is just my little wish list for Windows 7, but I am sure there must be more. It truly bugs me that the current announcements for SP1 do not mention any significant enhancements to make Windows 7 even better than it already is. Or am I just impatient and did Microsoft wait with the announcements that really matter?

Posted in Windows 7 | 10 Comments

Windows 7 Libaries: This network location can’t be included because it is not indexed

Symptoms

When you include a shared folder on a remote system in a Windows 7 library, you receive a message that resembles the following:

This network location can’t be included because it is not indexed

Cause

The folders included in a library are indexed by default to support full content search and rich metadata. Indexing these folders enables fast, full-text searches of library locations, from Windows Explorer or from the Start menu. Library locations must be available for local indexing or remotely indexed conforming to the Windows Indexing Protocol. If the location that you try to include is not indexed in one of those ways, you get the above message.

Resolutions

  • When including local folders, make sure the folder is indexed. Use the Indexing Options from the control panel to add the folder or disk to the local index.
  • When including a remote folder and the folder is located on a remote system running Windows Server 2003 or Windows XP, Windows Desktop Search 4.0 must be installed to support the Windows Indexing Protocol. The shared folder must be indexed to support remote indexing.
  • When the shared folder is located on Windows Server 2008 or Windows Server 2008 R2, the File Services Role must be installed with the Windows Search Service role service. When the role and role service is enabled, make sure the shared folder is included in the index. Use the Indexing Options from the control panel to add the folder or disk to the local index.
  • When the shared folder is on a system running Windows Vista or Windows 7, the indexing service is installed by default.
  • When the shared folder is on a NAS or non-Windows system, you should enable the group policy setting: Turn off Windows Libraries features that rely on indexed file data under User Configuration \ Administrative Templates \ Windows Components \ Windows Explorer. This policy disables advanced functionality for libraries. When the policy is enabled you have:
    • No support for metadata browsing via Arrange By views.
    • Only basic text “Grep-only” searches.
    • Grep-only search suggestions. The only properties available for input suggestions are Date Modified and Size.
    • No support for searching from the Start menu. Start menu searches do not return files from basic libraries.
    • No previews of file snippets for search results returned in Content mode.

Other methods to include remote shares in libraries that do not support the Windows Indexing Protocol, like creating symbolic links to remote locations with mklink, may lead to unexpected behavior and are not supported.

More information

More information about using libraries can be found at the Technet Web site.

Posted in Windows 7, Windows Server 2008, Windows Server 2008 R2 | 4 Comments

Windows 7 for XP Professionals

Yesterday I finished my next book Windows 7 for XP Professionals. The book will be released on November 6 and will be available in the conference book store at Tech Ed in Berlin on November 9-13.
 
More information about the new book and added materials can be found at www.7forxpprofessionals.com.
Posted in Windows 7 | Leave a comment

My profile at Microsoft.com

I just noticed that my picture and profile are currently showcased on the Microsoft Springboard site.

Spread the word and meet me at Tech Ed 2009 next week in LA.

Posted in Uncategorized | Leave a comment

Member of the Springboard Series Technical Experts Panel (STEP)

It’s been a while since I posted here. A lot has happened since my last post. Currently I am working as the lead solution architect in project building a worldwide Active Directory and mail infrastructure. This time I am focusing on Windows Server 2008, Active Directory and networking.

Another exiting development is the fact that I am selected as a member of the Springboard Technical Expert Panel (STEP)!

STEP is an initiative of the Springboard Series team.

The Springboard Series Technical Expert Panel (STEP) Program has been created to build community and advocacy for a Windows 7 and Windows Server 2008 R2 launch "by the community, for the community." In an effort to drive global awareness and value of Windows 7 and Windows Server 2008 R2 through Springboard Series, a program is created that will expand reach beyond typically-attended Microsoft events like Tech-Ed by activating top IT Pro community influencers within the Microsoft, MVP, and MCT communities.

This new program will:

  • deliver content across the globe via the advanced technical knowledge from this select "virtual" team of IT pro experts
  • offer IT Pros community-created instructional tools and resources for further learning of Windows Client products
  • help build a pool of highly recognized influencer evangelists toward the strategy of ensuring that Windows 7 and Windows Server 2008 R2 are launched "for the community, by the community"

As a member of STEP you’ll probably hear more from me in the near future. The benefits of the program involve:

  • Working with the Springboard Team at Tech Ed US or EMEA (I’ll be at both events)
  • Being a part of the "Opening Windows" campaign
  • Accessing First look seminars at new Windows 7 content before it gets released to the general public
  • Worldwide speaking opportunities
  • Participate in Virtual Roundtables with Mark Russinovich
  • Access to product teams for Q&A at Microsoft events

Unfortunately I will not be in the panel at the Virtual Roundtable event on February 12th, but I’m thrilled to take my virtual seat next to Mark Russinovich.

Posted in Uncategorized | 1 Comment

Reporting from Tech Ed IT Pro 2008

This week I will be blogging the news from Tech Ed IT Pro Barcelona on bink.nu.

If you are in Barcelona, check out my book at the conference book store.

If you have spare time, pay me a visit in the Hands-on-lab area or at the Vista Springboard booth in the exhibition hall. I’d be happy to sign your copy of the book <G>.

Posted in Uncategorized | 3 Comments

Windows Vista for XP Professionals is out now!

My book is out!

Finally I managed to finish the book I have been working on for the past 18 months. Still I am actually quite happy with the result.

Windows Vista for XP Professionals is aimed at IT Professionals getting ready to deploy Vista in a business environment. The book contains an in-depth overview of the essential changes in Windows Vista encountered when you start deploying, managing, securing and migrating to Windows Vista.

While selecting the subject in the book I was inspired by the experiences I had as the lead technical specialist for a Windows Vista deployment project at a large bank in the Netherlands.

More information about the book and its availability is available at www.vistaforxpprofessionals.com.

For those looking for Dutch reading material, the Dutch version is available from WEKA uitgeverij.

Posted in Uncategorized | 14 Comments

Hyper-V Alert: Beware of the Broadcom Nextreme II

Ever since I first installed my Dell PowerEdge 2900 with Virtual Server I have been experiencing issues with the Broadcom Nextreme II Gigabit adapter also known as the BCM5708C. After my latest disaster at a client with Hyper-V RTM I think it’s time to send out an alert.

In my case I the two hosts I was installing with Hyper-V ended with corrupted network stacks on Virtual Machines and hosts that initially worked flawlessly and all of a sudden caused strange error messages and in the end forced me to completely reinstall from scratch.

Here is my story:

I installed two clean HP ML370G5 Servers with Windows Server 2008 and Hyper-V. At first all installations went smooth. Installed Windows Server 2008 on both hosts. Installed Hyper-V (first RC1 later with RTM). Installed the first VM with Windows Server 2008 and IIS on one host and  another VM on the other host.
 
Both VMs initially work fine. Then I start setting up a new VM on the first host. All of a sudden I notice that the first VM on the same host is no longer responding to the network. I have a look at the eventlog and notice that ASP.Net crashed with an unhandled exception (event ID 1309). I reboot the VM. After the reboot, the system tray shows a disconnected network icon. In the Eventlog I see that the DHCP Client service could not start due to an Access Denied event (ID 1004). Two services fail to start on the VMs:

  • Base Filtering Engine
  • DHCP Client

Now comes the real surprise:

I can no longer start any other VM on the host!

When I start a VM that contains a NIC (virtual or synthetic) I get the following message: "No available MAC address for ‘Network Adapter’". The message occurs before the BIOS startup of the VM.
 
Now I am stuck. I cannot start any VM with a Network Adapter on this host and my first VM with IIS is broken. I tried to take the VHD to another Hyper-V server, but I was never able to recover network connectivity.
When I started creating VMs on the other host I got the same errors there.
 
Both hosts are HP Proliant ML370G5 with dual Broadcom 5708C Nextreme II GigE network adapters connected to a 100 MB half duplex switch without VLANs. I did clean installs of Windows Server 2008 with no extra drivers or software from HP installed. After the first panic, I gave the situation some thought. That’s when I started to seriously suspect the Broadcom adapters of screwing up  my game. Especially because they messed up for me before on  my Dell server with the same NICs in Hyper-V Beta and RC0.

So I did another test:

  1. Clean install of Windows Server 2008 on one of the hosts
  2. Install Hyper-V RTM
  3. Create one virtual network connected to a Broadcom NIC
  4. Create the first VM with a synthetic NIC and boot from the Windows Server 2008 ISO
  5. Create another VM with a synthetic NIC

When I start the second VM I get the message "No available MAC address…". The message is logged in the Hyper-V-Worker Admin log with Event ID 12564, followed by event Ids 12010 and 12030.

In order to proof my theory that my issues were caused by the Broadcom Nextreme II adapters I did the following:

  1. I obtained an extra network adapter with a different chipset and added it to both servers 
  2. Created a Virtual Network connected to the new NIC
  3. Created and started multiple VMs

This went smooth without issues. I can now run Hyper-V and I’m a happy camper!

The Broadcom Nextreme II is built-in in servers from both Dell and HP. I don’t know if other vendors are using the chipset in their systems and what other systems from Dell and HP contain them besides the Dell PowerEdge 2900/2950 and HP Proliant ML370 G5.

Posted in Hyper-V | 1 Comment

My interview on Windows Essential Business Server at bink.nu

Last Friday I was provided the opportunity to interview Russ Madlener, Director of Planning, Windows Server and Tools division at Microsoft. Russ is responsible for the product release of Windows Essential Business Server (WEBS) formerly known as Centro. The meeting was setup after my comments on bink.nu, where I reported the absence of WEBS and SBS at the Tech Ed conference in Orlando.

Russ provided some interesting new information about the upcoming release of WEBS.

Read the complete interview at bink.nu

Posted in Uncategorized | Leave a comment