Windows SDK for Windows 7 and .NET Framework 4 Release Notes

 

1. Welcome

2. License Agreement

3. Installing and Uninstalling the Windows SDK

4. Build Environment

5. Documentation

6. Known Issues    

7. Windows SDK Product Support and Feedback

 

 

 

1. Welcome

Welcome to the Microsoft Windows Software Development Kit (SDK) for Windows 7 and .NET Framework 4.

The Windows SDK contains a set of tools, code samples, documentation, compilers, headers, and libraries that developers can use to create applications that run on Microsoft Windows. You can use the Windows SDK to write applications using the native (Win32/COM) or managed (.NET Framework) programming model.

For access to additional resources and information, such as downloads, forum posts, and the Windows SDK team blog, go to the Windows SDK Developer Center.

 

1.1 What’s New in the Windows SDK for Windows 7 and .NET Framework 4 Release?

·         Smaller/Faster: at less than 600MB, this SDK is one third the size of the Windows 7 RTM SDK; it installs faster and has a smaller footprint.

·         Cleaner setup: features on setup screens have been grouped into native, managed, and common buckets to help you choose the components you need faster.

·         New Microsoft Help System v1.0: this brand new system was first introduced with Visual Studio 2010.  You can import just the content you need from the MSDN cloud, and update it according to your schedule.

·         Visual C++ 2010 compilers/CRT with improved compilation performance and speed.  These are the same compilers and toolset that ships with Visual Studio 2010.

·         New command line build environment that uses MSBuild 4.0, now the common Microsoft build system for all languages, and supporting the new Visual C++ project type .vcxproj.

 

1.2 What Does the Windows SDK for Windows 7 and .NET Framework 4 Support?

·         Operating Systems: You can install this SDK on and/or create applications for Windows 7, Server 2008 R2, Server 2008, XPSP3, Vista, and Windows Server 2003 R2.

·         Platform architecture: you can install this SDK on and/or create applications for platform chipsets X86, X64, and IA64 (Itanium).

·         .NET Framework: you can use the SDK resources to create applications that target .NET Framework versions 2.0, 3.0, 3.5, 4.

·         Visual Studio: you can use the resources in this SDK with Visual Studio versions 2005, 2008, and 2010, including Express editions. (Not all features work with all versions of Visual Studio. For example, you can’t use the .NET 4 tools with Visual Studio 2008.)

·         Setup/Install options: Win SDK v7.1 will be available through an ISO or a Web setup download and install experience.  Web setup allows you to install selected components of the SDK without having to download the entire SDK.  The DVD ISO setup allows you to download the entire SDK to install later, or share among different computers. 

 

 

1.3 What’s Been Removed?

1.3.1 Documentation

The DExplore document viewer that shipped with previous SDKs is no longer delivered via the SDK, and documentation is no longer delivered in-box with the SDK.  You’ll be prompted at the end of SDK setup to download documentation to your computer using the Microsoft Help System if you wish to do so.

 

1.3.2 Managed Samples

Managed samples have been removed from this release of the Windows SDK.  Managed samples can be found on Code Gallery.

 

1.3.3 Tools

The following tools were included in the Windows SDK for Server 2008 and .NET Framework 3.5 release, but are not included in this release:

 

Tools Removed in the Windows SDK for Windows 7 and .Net Framework 4

·         UISpy.exe

·         Wpt_arch.msi

 

 

1.4 Required Resources

This release of the Windows SDK does not include a .NET Framework Redistributable Package.

 

.NET Framework 4 (Required)

·         The Microsoft Windows SDK for Windows 7 and .NET Framework 4 requires the RTM version of the full, extended .NET Framework 4 Redistributable Components http://go.microsoft.com/fwlink/?LinkID=187668  

·         The .NET Framework 4 Redistributable Components must be installed prior to installing the Windows SDK for Windows 7 and .NET Framework 4

NOTE:  The Client version of the .NET Framework 4 is not sufficient and the SDK will not install on a computer that has a pre-release (Beta or RC) version of the .NET Framework 4.

 


2. License Agreement

The contents included in the Windows SDK are licensed to you, the end user. Your use of the SDK is subject to the terms of an End User License Agreement (EULA) accompanying the SDK and located in the \License subdirectory. You must read and accept the terms of the EULA before you access or use the SDK. If you do not agree to the terms of the EULA, you are not authorized to use the SDK.


3. Installing, Uninstalling the Windows SDK

To optimize your Windows SDK setup experience, we strongly recommend that you install the latest updates and patches from Microsoft Update before you begin installing the Windows SDK.

 

3.1 Windows SDK Disk Space Requirements

The complete installation of the Windows SDK requires less than 600MB, this SDK is one third the size of the Windows 7 RTM SDK; it installs faster and has a smaller footprint. Please verify that the computer you are installing to has the minimum required disk space before beginning setup. If the minimum required disk space is not available, setup will return a fatal error.

 

3.2 How to Uninstall SDK Components

When you uninstall the SDK through Programs and Features (Add/Remove Programs on pre-Vista OS's) most of the SDK components will be uninstalled automatically. However, a few shared components installed by the SDK may need to be uninstalled separately. This guide provides instructions for uninstalling those shared components.

 

To uninstall shared SDK components:

1.    From the Start Menu, go to Control Panel, Programs and Features (Add/Remove Programs on pre-Vista OS's)

2.    Select and remove the following entry:

·    Microsoft Windows SDK for Windows 7 (7.1) (the Windows SDK core-component files)

3.    Remove the shared components. This list provides some of the components you may see. If you are running a 64 bit version of Windows you may see both 32 bit (x86) and 64 bit (x64, IA-64) versions of the components listed:

·         Application Verifier

·         Debugging Tools for Windows

·         Windows Performance Toolkit

·         Microsoft Help Viewer 1.0

·         Microsoft Visual C++ 2010 Redistributable

·         Microsoft Visual C++ 2010 Standard Edition

 

4. Build Environment

4.1 Moving From the VCBuild to the MSBuild 4.0 Environment

Visual C++ 2010 moved to newer build system (MSBuild v4.0) to provide better performance, scalability and extensibility. In order for the build system migration to happen the project file format in Visual C++ 2010 had to change to a different format in order to be compatible with the new MSBuild v4.0 file format (earlier versions of Visual C++ have used VCBuild as their build system).  The extension of the new Visual C++ 2010 project file has been changed from “.vcproj” to “.vcxproj”.  Project files with the “.vcproj” extension can be upgraded using the vcupgrade tool (included in this release of the SDK).  For more information on how to upgrade a project file, see section titled “Upgrading Projects to Visual C++ 2010.”

 

4.2 Setting Build Environment Switches

To set specific targets in the build environment:

·         Launch the Windows SDK build environment - From the Start menu, click on  All Programs > Microsoft Windows SDK v7.1 > Windows SDK 7.1 Command Prompt

·         Set the build environment -  At the prompt, type:
setenv  [/Debug | /Release][/x86 | /x64 | /ia64 ][/vista | /xp | /2003 | /win7][-h | /?]

 

The setenv.cmd help [-h | /?] displays the usage

                /Debug   - Create a Debug configuration build environment

                /Release - Create a Release configuration build environment

                /x86     - Create 32-bit x86 applications

                /x64     - Create 64-bit x64 applications

                /ia64    - Create 64-bit ia64 applications

                /vista   - Create Windows Vista SP1 applications or Windows Server 2008

                /xp      -   Create Windows XP applications

                /2003    - Create Windows Server 2003 applications

               /win7    - Create Windows 7 or Windows Server 2008 R2 applications

 

4.3 Upgrading Projects to Visual C++ 2010

The Windows SDK for Windows 7 and .NET Framework 4 installs the vcupgrade.exe tool which will convert the previous project file format to the MSBuild compatible project file format. In this process the extension of the project file (.vcproj) will change to .vcxproj.  To upgrade a Visual C++ 2005 or a Visual C++ 2008 (ex: sample.vcproj) file to VC 2010 (sample.vcxproj) file format in the SDK build environment, at the command prompt type: “vcupgrade sample.vcproj”.

 

Usage:

VCUpgrade [options] <project file>

 

  Options:

     -nologo                     Suppresses the copyright message

     -nocolor                    Do not output error and warning messages in color

     -overwrite                Overwrite existing files

     -PersistFramework  Keep the Target Framework Version while upgrading. (-p)

 

The vcupgrade tool can upgrade any project version from VC6 through VC 2008 to the VC 2010 format, and returns a success message if the conversion succeeded.  If unsuccessful, a message listing conversion errors is returned.

 

5. Documentation

The new Microsoft Help System allows you to view documents on the MSDN Library using a standard browser, and select documents to download from the MSDN Online content publication web site (MSDN cloud) to your computer for viewing when a connection to the Internet is unavailable or undesired.  You can download, update or delete content on your own schedule.  

The Microsoft Help System is also delivered via Visual Studio 2010. 

 

If you select the Microsoft Help System during SDK setup, you will be prompted at the end of SDK setup to import documentation to your computer using the Help Library Manager.  You will be prompted to select a location for content to be stored on your computer’s hard drive.  You may select the default location to store content on your computer at this time only.  The content store location cannot be changed later. 

 

Microsoft Help System is the replacement for the Document Explorer (DExplore) help viewer that was delivered in earlier versions of the Windows SDK.  The Document Explorer has been deprecated.

5.1 Start Menu shortcuts for Microsoft Help System

Three Start Menu shortcuts will be installed with the MHS under All Programs, Windows SDK v7.1, Documentation:

·         Manage Help Settings: use the Help Library Manager to manage content in online and offline modes

·         Microsoft Help System Documentation: open the MHS Help-on-Help documentation stored locally on your computer when in offline mode, or online on MSDN when in online mode.

·         Windows SDK Documentation: open the documentation for the Windows SDK product stored locally on your computer when in offline mode, or online on MSDN when in online mode.

5.2 Confirm that you wish to go online

The MHS is set to Online Mode by default.  The first time you click the MHS shortcuts on the Start Menu you will be asked to confirm that you wish to connect to the Internet to view documentation in the MSDN cloud. 

5.3 Offline documentation

If you wish to view documentation when a connection to the Internet is unavailable, you can import documentation sets (books) from the MSDN cloud and install these books to your computer.  You can switch to Offline Mode to view content on your computer by default. 

5.4 Configuring MHS to use Offline mode

The Help Viewer is set to online mode by default upon installation.  This setting affects all instances of the Help System installed on a computer.  If you have downloaded content from the MSDN cloud using the Help Library Manager (Start, All Programs, Windows SDK v7.1, Documentation, Help Library Manager) and wish to view these documents when not connected to the Internet, you must change the configuration to offline mode:

1.  Open the Help Library Manager (Start, All Programs, Windows SDK v7.1, Documentation, Help Library Manager)

2.  Select Choose online or local help

3.  Select I want to use local help

4.  Click OK

5.5 Importing documentation to your local computer

If you wish to import (download documentation) to your local computer for viewing in offline mode (no Internet connection):

1.  From the Start Menu, select Start, All Programs, Windows SDK v7.1, Documentation, Help Library Manager. 

2.  On the options screen, select ‘Install Content from online’.

3.  Select the Add link next to any content you wish to add locally, example:  .NET Framework 3.5

4.  When the Add link is selected, the Actions column will change to say Cancel and Status to Update Pending. 

5.  Click the Update button.

6.  While the content is updating you will see a status screen.

7.  When the update is finished you will see a Finished Updating notification.

8.  On the options screen, select ‘Choose online or local help’.

9.  Select ‘I want to use local help’ and click OK

5.6 Checking for updates on the MSDN cloud

Documentation is frequently updated on the MSDN Cloud.  If you wish to update the documentation you have previously downloaded to your local computer for viewing in offline mode (no Internet connection):

1.  From the Start Menu, select Start, All Programs, Windows SDK v7.1, Documentation, Help Library Manager. 

3.  On the options screen, select ‘Check for updates online’.

4.  A Checking for Updates screen will show the documentation you have imported to your computer.  The Status column next to each feature will show the status of the documentation for that feature:

      - Up to date: no updates are available

      -Update Available: click to import updates for this feature documentation

5.  Click the Update button.

6.   While the content is updating you will see a status screen.

7.  When the update is finished you will see a Finished Updating notification.

5.7 Removing documentation content from your computer

If you wish to remove the documentation you have previously downloaded to your local computer for viewing in offline mode:

1.  From the Start Menu, select Start, All Programs, Windows SDK v7.1, Documentation, Help Library Manager. 

2.  On the options screen, select ‘Remove content’.

3.  A Remove Content screen will show the documentation stored locally on your computer.  The Actions column next to each feature will show the available actions for that documentation set.

4.  Click the Remove link to remove a documentation set.

5.  The Status column will show Remove Pending as content is being deleted.

6.  Click the Cancel link during removal if you wish to cancel this action.

7.  Click the Remove button.

8.  While the content is being removed you will see an Updating Local Library screen.

9.  When the removal is finished you will see a Finished Updating notification.

5.8 Installing Offline Content from media

Offline content on media is not provided for this release of the Windows SDK.  This content may be made available at a future date.

 


 

6. Known Issues

This release of the Windows SDK has the following known issues, categorized by type.

6.1 Build Environment

6.1.1 Limitations of the vcupgrade tool

·         The vcupgrade tool cannot upgrade a solution file

Proposed workaround:

o   Hand edit/update the solution file to conform with the Visual Studio 2010 format. This involves

§  Changing the header in the file to say Visual Studio 2010.

§  Changing the extension of the projects in the solution file to .vcxproj

 

·         The vcupgrade tool cannot upgrade a project which has a reference to another project.

Proposed workaround:

§  Run the tool from the solution directory.

 

6.1.2 SDK Build Environment may Fail on X86 XP with VS2005

If your usage scenario matches the one listed below, you will be unable to build in the Windows SDK command line build environment.  If you type cl.exe in the SDK command window and press Enter, you will see this error:

This application has failed to start because mspdb80.dll was not found.  Re-installing the application may fix this problem.

Computer setup required to repro issue:

1.           Windows XP on x86 machine (which has version 5.1.2600.2180 of REG.exe)

2.           Visual Studio 2005 installed, but Visual Studio 2008 or 2010 is NOT installed

Cause: When the SDK build environment window is launched, the SDK file SetEnv.cmd launches Reg.exe.  Reg.exe generates standard output when a valid KeyPath is specified and also generates error output when invalid Value is specified.  In this scenario, the KeyPath is valid but the value doesn’t exist.  For more information, see the Windows SDK blog post on this issue.

Workaround: follow these instructions to manually edit SetEnv.cmd to remove the second call to REG:

1.    Open C:\Program Files\Microsoft SDKs\Windows\v7.0\Bin\SetEnv.cmd in Notepad or another editor

2.    For this line:
FOR /F "tokens=2* delims=  " %%A IN ('REG QUERY "%VSRegKeyPath%" /v 9.0') DO SET VSRoot=%%B

Either comment out using the REM command (like this):
REM FOR /F "tokens=2* delims=     " %%A IN ('REG QUERY "%VSRegKeyPath%" /v 9.0') DO SET VSRoot=%%B

OR delete the line completely.

3.    Save SetEnv.cmd

4.    Restart the Windows SDK command prompt

 

6.1.3 Windows 7 SDK with Visual C++ 2005: Failure to compile in Debug mode.

If your usage scenario matches the one listed below, you will be unable to debug in the Windows SDK command line build environment or Visual Studio 2005 SP1.

Symptom: You have an .lib file or an .obj file that exposes C interfaces that was built by using Microsoft Visual C++ 2008 or for Windows 7. You add this file to a project as a link dependency. When you build the project in Microsoft Visual Studio 2005 Service Pack 1 (SP1) to generate an .exe file or a .dll file, you may receive the following link error:

Fatal error LNK1103: debugging information corrupt

Cause: This problem occurs because of a compatibility issue between Visual Studio 2005 and Visual Studio 2008 versions. For more information, see the Microsoft Support page for the patch: http://support.microsoft.com/kb/949009/.

Fix: Install the patch for Visual Studio 2005 SP1 available from: http://support.microsoft.com/kb/949009/.

 

6.1.4 Platform Used in /p:platform=[target platform] and setenv [target platform] Must Match

If you encounter one of the following error messages, make sure that platform in /p:platform=[target platform] and setenv [target platform] match.

 

Error messages:

You are attempting to build an AMD64 application from an x86 environment.

You are attempting to build an Itanium (IA64) application from an x86 environment.

You are attempting to build a Win32 application from an x64 environment.

You are attempting to build an Itanium (IA64) application from an x64 environment.

You are attempting to build a Win32 application from an Itanium (IA64) environment.

You are attempting to build an AMD64 application from an Itanium (IA64) environment.

 

6.1.5 Builds Requiring hhc.exe May Fail When Using MSBuild

Builds requiring hhc.exe (HTML Help Workshop compiler) may fail and throw a "Windows cannot find 'hhc'..." error message.  There are a couple of workarounds.

 

Workaround 1:

Modify setenv.cmd to include %programfiles(x86)%\HTML Help Workshop

·         Open an elevated command-prompt.

·         Change directories to the Windows SDK 7.1 bin directory (%programfiles%\Microsoft SDKs\Windows\v7.1\bin)

·         Type: Notepad setenv.cmd

·         After line 369 (which looks like this): SET Path=%FxTools%;%VSTools%;%VCTools%;%SdkTools%;%Path%
Add the following:
IF "%CURRENT_CPU%"=="x86" (
SET “Path=%path%;%ProgramFiles%\HTML Help Workshop”
) ELSE (
SET “Path=%path%;%ProgramFiles(x86)%\HTML Help Workshop”
)

 

Workaround 2:

Add %programfiles(x86)%\HTML Help Workshop to %path% in the environment variables.

On Vista/Server 2008/Windows 7:

·         Click Start

·         Right-click ”Computer

·         Click “Properties

·         Click “Advanced system settings

·         Click the “Environment Variables…” button

·         Use the scroll bar to find the “Path” variable

·         Click “Path” to highlight it, then click the “Edit…” button

·         At the end of the Variable Value text box, add a semicolon and the path to the HTML Help Workshop (i.e. “;%programfiles%\HTML Help Workshop” on x86)

 

 6.2 Microsoft Help System

6.2.1 Microsoft Help Viewer is unavailable during SDK setup

If the Microsoft Help System (MHS) has already been installed on your computer by a Visual Studio 2010 product, the Microsoft Help Viewer node on the SDK setup screen will be unavailable, or grayed out.  This is by design.  The MHS will only be installed once on a computer.

6.2.2 Microsoft Help System remains after uninstall of the Windows SDK

Help Viewer is a separate entry in Programs and Features (Add/Remove Programs in pre-Vista OSes) and will not be uninstalled when the Windows SDK is uninstalled.  The Help Viewer must be uninstalled separately. 

6.2.3 Help Library Manager will not update/synch content if Internet connection is not available

The Help Library Manager requires an Internet connection in order to connect to the MSDN cloud to update or synch content.   If you attempt to synch offline content with updated documentation available in the MSDN cloud, you will receive an error message that a network connectivity problem has occurred.

6.2.4 Downloading documentation requires an internet connection

Documentation is not included in the SDK setup package and must be downloaded from the MSDN cloud using the Help Library Manager (Start, All Programs, Windows SDK v7.1, Documentation, Help Library Manager).

6.2.5 The Help Viewer is not supported on computers with an Itanium (IA64) chip

The Help Viewer will not install on a computer that is using an Itanium (IA64) processor.  A Help Viewer option will not be available when installing the Windows SDK on a computer with an Itanium (IA64) processor.

6.2.6 Help Library Manager requires Administrator permission to update content

For security purposes, the Help Library Manager installs content to a location that is locked down to users who are not members of the HelpLibraryUpdaters security group.  Non-members cannot update, add or delete content to the store.  This security group is created during setup, and by default, it includes the administrators group and the user account that created the local store.  To enable support for multiple users (non-administrators) to update content on the machine, an administrator must add the additional accounts to the HelpLibraryUpdaters security group. 

6.2.7 Help Library Manager validates digital signatures on content

As a security check, the Help Library Manager checks the digital signature used to sign cabinet files that contain documentation content to be installed locally. When installing content interactively, users can view the certificate of signed files and approve or reject the content.

 

6.3 SDK Tools and Compilers

6.3.1 Some Tools Require .NET Framework 3.5 SP1

In order to function correctly some tools included in the Windows SDK also require you to install .NET Framework 3.5 SP1.

6.3.2 The Command-Line Environment for the Windows SDK Configuration Tool Supports Only Visual Studio 2008

The command-line environment for The Windows SDK Version Selection tool supports only Visual Studio 2008. It does not support earlier versions of Visual Studio.

6.3.3 GuidGen.exe may fail to run without Visual Studio Installed.

The .NET Framework 3.5 version of the GuidGen.exe tool has a dependency on version 9.0 of the MFC Runtime. If you do not have the correct version installed you may see an error similar to this:

 

C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin>guidgen.exe

The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail.

 

In order for the tool to function correctly we recommend installing any Visual Studio 2008 Express edition to obtain the required version of the MFC Runtime.

 

NOTE:  This does not occur with the .NET Framework 4 version of GuidGen.exe.

6.3.4 MSIL Disassembler (ILDASM.EXE) Help does not display in Windows 7.

Help for the ILDASM tool does not display because it uses a help file format that is not natively supported in Windows 7.  Online documentation is available:

6.3.5 OLE-COM Object Viewer (OLEView.exe) – error message appears and some tool functions are unavailable if tool is not run for the first time with administrator permissions.

If the first run of the OLE-COM Object Viewer tool is not done with administrator permissions the following error message will appear:

DllRegisterServer in IVIEWERS.DLL failed. OLEViewer will operate correctly without this DLL, however you will not be able to use the interface viewers.

To avoid this issue use “Run as administrator” when you run the tool for the first time.

6.3.6 FXCop Setup is Now Located Under the Window SDK “\Bin” Directory.

The installer for FXCop, fxcopsetup.exe, is now located in [Program Files]\Microsoft SDKs\Windows\v7.1\Bin\FXCop.

 

6.3.7 Windows SDK Configuration Tool Does Not Update Visual Studio 2008 Paths for Itanium Headers and Libraries

 Symptom: When the Windows SDK Configuration Tool is used to integrate the Windows 7 SDK with Visual Studio 2008, the Visual C++ Directories for headers and libraries are set to point to the Windows 7 SDK content for x86 and x64 platforms only. Visual Studio will still point to the IA64 headers, libraries and tools that ship with Visual Studio 2008.

Fix: Open Visual Studio 2008, Select Tools->Options->Projects and Solutions->C++ Directories. From the ‘Platform’ drop-down, Select ‘Itanium’ and from the “Show directories for” drop-down select ‘Include files’. Replace all instances of ‘WindowsSDKDirIA64’ with ‘WindowsSDKDir’. Select ‘Library files’ from the “Show directories for” drop down menu and repeat the previous step.

 

6.3.8 Windows UI Automation May Fail When Using AccEvent or Inspect on Windows XP, Windows Vista, Windows Server 2003 R2 or Windows Server 2008

AccEvent

Symptom in UIA Events Mode: Start AccEvent, Select Mode, Select UIA Event, Select Settings.  An error occurs stating “Accessible Event Watcher (32-bit UNICODE Release) has encountered a problem and needs to close.  We are sorry for the inconvenience.”

Symptom in WinEvents Mode: Start AccEvent, Select Mode menu, Select WinEvents (In Context) or WinEvents (Out of Context), Select Events menu, Select Start Listening.  At the bottom corner of the screen a message is displays stating “Registration failed, Stopped”.

Cause: The latest Automation API is not present on the machine.  For more information, see the Microsoft Support page for the Windows Automation API: http://support.microsoft.com/kb/971513

Fix:   Install the latest Windows Automation API available from: http://support.microsoft.com/kb/971513

 

Inspect

Symptom: When starting Inspect an error occurs stating “The program was unable to query the UI Automation client interfaces. Please confirm that the latest framework is installed.”

Cause: The latest Automation API is not present on the machine.  For more information, see the Microsoft Support page for the Windows Automation API: http://support.microsoft.com/kb/971513

Fix:   Install the latest Windows Automation API available from: http://support.microsoft.com/kb/971513

 

6.3.9 A Failure May Occur When Using aximp.exe to Add a COM Component to VS2010 Sample Form Application

Symptom:

The following error message is encountered when adding a COM component to a VS2010 Sample Form Application.

Error Message:

“Failed to import ActiveX control. Please ensure it is properly registered."

 

Workaround:

Install the comlibrary.interop.dll and axcontrol.inteorp.dll into the GAC.  Open a Windows SDK 7.1 Command Prompt.  At the prompt type cd bin.  Then type Gacutil /if comlibrary.interop.dll and Gacutil /if axcontrol.inteorp.dll.

 

6.4 Samples

6.4.1 Some C++ Samples Require Upgrade Prior to Building

 

6.4.1.1 Building Samples Using Visual Stuido 2005/2008

Many of the sample project files in the SDK are written for VC 8.0 compilers, the compilers that shipped in Microsoft Visual Studio 2005. Samples with version 8.0 project files can be built in Microsoft Visual Studio 2005 but must be upgraded before being built in the Visual Studio 2008 build environment. 

 

6.4.1.2 Building Samples Using Visual Studio 2010 or Windows SDK v7.1 (MSBuild 4.0)

Visual Studio 2010 and the Windows SDK v7.1 use the MSBuild 4.0 build environment.  The Visual C++ compilers shipped in the Windows SDK v7.2 are the same compilers that ship in Visual Studio 2010 RTM.  All Native samples project and solution files in the Windows SDK v7.1 must be upgraded prior to building using the MSBuild 4.0 environment.  

NOTE: For more information about upgrading sample to build in the MSBuild 4.0 build environment, see section titled “Moving From the VCBuild to the MSBuild 4.0 Environment”.

6.4.2 Some C++ Samples will not Build in Visual Studio 2005

Some of the samples in the SDK contain v9.0 project files, which will not build in Visual Studio 2005. You cannot downgrade the project files to a lower version.  To workaround this issue, install Visual Studio 2008 or 2010 (Express or Retail SKU) or build the sample in the Windows SDK command line build environment.

6.4.3 Some Samples have External Dependencies

Some samples included with the Windows SDK have dependencies on components outside the Windows SDK.

6.4.3.1 ATL/MFC Dependency

Some samples require the ATL and/or MFC headers, libraries, or runtime, which are included with Visual C++ (non-Express editions). When building a sample that depends on ATL/MFC without Visual Studio installed on your computer, you might see an error similar to this:

fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory

To workaround this issue, install a non-Express version of Microsoft Visual Studio with the compatible MFC/ATL.

6.4.3.2 Windows Media Player Dependency

The Multimedia\WMP_11\dotNet\SchemaReader sample requires Windows Media Player 11 or later to be installed.

6.4.3.3 Microsoft Management Console 3.0 Dependency

The samples in the \Samples\SysMgmt\MMC3.0 directory require Microsoft Management Console 3.0 or later to be installed.

6.4.3.4 DirectX SDK Dependency

Some samples require the DirectX SDK (refer to the sample's readme for additional information).

6.4.3.5 msime.h Dependency

Some samples fail to build because the file msime.h is not found. Msime.h is not shipped with the Windows SDK. Msime.h is for use by developers when customizing applications for the 2007 Microsoft Office System.

The affected samples are:

·         winui\Input\tsf\TSFApps\ImmPad-Interim

·         winui\Input\tsf\TSFApps\ImmPad-Level3-Step3

·         winui\Input\tsf\TSFApps\TsfPad-Hybrid

To workaround this issue, download msime.h from the Microsoft Download Center and copy to the Windows SDK \Include directory.

6.4.4 Some Samples Require Microsoft Visual Studio 2005 and will not Build with Microsoft Visual Studio 2008

A few unmanaged samples rely on mspbase.h, mtyp.h, or mfc80ud.lib. These files are included with Microsoft Visual Studio 2005 and do not ship with Microsoft Visual Studio 2008.

1.    mspbase.h

a.    netds\Tapi\Tapi3\Cpp\Msp\MSPBase

b.    netds\Tapi\Tapi3\Cpp\Msp\Sample

c.    netds\Tapi\Tapi3\Cpp\pluggable

2.    mtype.h

a.    netds\Tapi\Tapi3\Cpp\tapirecv

b.    netds\Tapi\Tapi3\Cpp\tapisend

3.    mfc80ud.lib

a.    Sysmgmt\Wmi\VC\AdvClient

6.4.5 Some C++ Samples do not have Configurations for x64

When building a C++ sample on an x64 computer that does not have support for x64, you might see the following error message:

fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'x86'

To workaround this issue, perform one of the following actions:

1.       Build the sample targeting x86 by using this command:

msbuild *.vcxproj /p:platform=win32

1.       Add x64 support by doing the following:

a.       Load the sample in Microsoft Visual Studio (C++).

b.      Update the Configuration Manager under Project | Properties.

 

For detailed instructions, see the Windows SDK Blog post "How to add 64-bit support to vcproj files."

 

Note: if you do not install libraries for all CPU architectures during SDK setup, some samples with Visual C++ project files might fail to build with this error for all configurations in the project file:

 

Fatal error LNK1181: cannot open input file

 

For example, if a sample has an x86 configuration and x86 libraries were not installed (these libraries are installed by default when installing the SDK on all platforms), the sample will fail to compile.

6.4.6 Visual J# Samples Require VJ++ (Visual Studio)

J# samples will not build using the Windows SDK because there is no appropriate build environment. This edition of the Windows SDK does not support building J# applications. To workaround this issue, install Visual Studio (VJ++) 2005.

6.4.7 Setupvroot.bat Setup Script for WCF Samples Fails on Windows Vista if the NetMsmqActivator Service is Enabled and Message Queuing (MSMQ) is not Installed

The Windows Communication Foundation samples setup script Setupvroot.bat does not work on Windows Vista if the NetMsmqActivator service is enabled and Message Queuing (MSMQ) is not installed. The iisreset utility does not work unless MSMQ is installed or the NetMsmqActivator service is disabled. The WCF samples setup script Setupvroot.bat will not run unless MSMQ is installed or the NetMsmqActivator service is disabled.

Make sure MSMQ is installed or disable the NetMsmqActivator service on Windows Vista before you run the WCF samples setup script Setupvroot.bat.

6.4.8 Some Samples Fail to Compile: Debug:Itanium Error

Some samples might fail to compile on all platforms with the following error:

vcbuild.exe: error VCBLD0004: Project 'C:\Samples\Technologies\DirectoryServices\BEREncoding\CP\BerEncoding\BerEncoding.vcproj' does not contain a configuration called 'Debug|Itanium'

This error occurs because platform configurations are listed alphabetically by default in a project or solution file created by Visual Studio. If Debug|Itanium is a supported configuration, it will be listed first in the samples' solution and/or project files. This configuration will be built first by default.

To workaround this issue, use a configuration switch to specify what platform you want to build for:

Msbuild.exe *.sln /p:platform=Win32
Msbuild.exe *.sln /p:platform=x64

6.4.9 Windows Media Services SDK Plug-ins Fail to Build on Windows 2008 Server

The “Playlistparser” and “Authorization” plug-in samples should be available in Windows Media Services. The user should be able to enable and disable the newly built plug-ins. However, the “Playlistparser” and “Authorization” plug-ins fail to build and produce the following error:

Syntax error for the code given below in Unknwn.idl

   HRESULT QueryInterface(

        [in] REFIID riid,

        [out, iid_is(riid), annotation("__RPC__deref_out")] void **ppvObject);

To workaround this issue, build the “Playlistparser” and “Authorization” plug-ins on Windows Vista or Windows 2003 Server and copy the plug-ins to Windows 2008 Server.

6.4.10 WSDAPI StockQuote and FileService samples may fail to build on the command line (using msbuild) if Visual Studio 2008 is installed

The WSDAPI StockQuote and FileService samples may fail to build on the command line (using msbuild) if Visual Studio 2008 is installed. These samples include project files which reference WSDL and XSD files, and msbuild attempts to invoke sproxy.exe to process these files. Visual Studio 2008 does not include sproxy.exe, and compilation fails if the tool is not present. Compiling from inside the Visual Studio IDE is unaffected.

It is not necessary to use sproxy to process these files. WsdCodeGen, a WSDL/XSD compiler for WSDAPI, can be used to generate C++ code from these files. This generated code is already included in the sample.

If you encounter this error, you can remove the XSD and WSDL files from the affected project files and recompile with msbuild:

·         StockQuote\StockQuoteContract\StockQuoteContract.vcproj: remove StockQuote.xsd, StockQuote.wsdl, and StockQuoteService.wsdl

·         FileService\FileServiceContract\FileServiceContract.vcproj: remove FileService.wsdl

6.4.11 WinBase\RDC sample generates assertion failure when built in Visual Studio

You may receive an “Assertion failed” message when attempting to build this sample in Visual Studio. This is caused by a post build instruction that attempts to register the COM component, but fails. To workaround this issue, build the sample in Administrator mode. From the Start menu, Microsoft Visual Studio 2008, Visual Studio Tools, then right click on a Visual Studio command prompt and select “Run as Administrator”.

6.5 Headers and Libraries

6.5.1 The wincodec_proxy.h Header File is Missing From the Windows SDK for Windows 7 and .NET Framework 4

Symptom: The wincodec_proxy.h header file is missing from the the Windows SDK for Windows 7 and .NET Framework 4.

Fix: Download the wincodec_proxy.h header file from the Microsoft Code Gallery: http://code.msdn.microsoft.com/wictools/Release/ProjectReleases.aspx?ReleaseId=2887

6.5.2 Warnings May Occur When Compiling Programs Containing the ws2tcpip.h Header File

Symptom: Warnings occur when compiling programs containing the ws2tcpip.h header file.

Fix: Precede #include <ws2tcpip.h> with #pragma warning(push), #pragma warning(disable : 6386) and follow it with #pragma warning(pop).

6.5.3 Conflict in definition of INTSAFE_E_ARITHMETIC_OVERFLOW in intsafe.h/comutil.h

Symptom: You are using the Windows 7 SDK development environment or Visual Studio 2008 or earlier compilers with the Windows 7 version of intsafe.h and at compile time receive the below warning:

warning C4005: 'INTSAFE_E_ARITHMETIC_OVERFLOW' : macro redefinition c:\program files\microsoft sdks\windows\v7.1\include\intsafe.h

Cause: This warning is reported because intafe.h and comutil.h have conflicting definitions of INTSAFE_E_ARITHMETIC_OVERFLOW.

Workaround: Intsafe.h must be included in the code before comutil.h and the warning will not occur.

Fix: This conflict is resolved in Visual Studio 2010 and later versions of the compiler package.

 

6.6 Windows Native Development

6.6.1 Windows SDK Configuration Tool (Command Line) Fails With Visual Studio 2005

This is not a supported scenario will not work with Visual Studio 2005.

 

7.   Windows SDK Product Support and Feedback

The Windows SDK is provided as-is and is not supported by Microsoft. For technical support, there are a number of options:

7.1 Professional Support for Developers

Microsoft Professional Support for Developers provides incident-based access to Microsoft support professionals and rich information services to help developers to create and enhance their software solutions with Microsoft products and technologies.

For more information about Professional Support for Developers, or to purchase Professional Support incidents, please contact a Customer Representative at 1-800-936-3500. To access Professional Support for Developers, visit the MSDN Web site. If you have already purchased support incidents and would like to speak directly with a Microsoft support professional, call 1-800-936-5800.

7.2 MSDN Online

MSDN Online provides Developer Support search, support incident submission, support highlights, service packs, downloads, technical articles, API information, blogs, newsgroups, forums, webcasts, and other resources to help optimize development.

7.3 Ways to Find Support and Send Feedback

Your feedback is important to us. Your participation and feedback through the locations listed below is appreciated.

·         The MSDN Forums are available for peer-to-peer support.

·         Windows SDK Developer Center is the official site about development using the Windows SDK, and provides information about the SDKs, links to the Windows SDK Blog, Forum, online release notes and other resources.

·         The Windows SDK Forum deals with topics related specifically to the Windows SDK.

·         The Software Development for Windows Client forum contains an updated list of related forums.

·         You can also send mail to the Windows SDK Feedback alias at  wsdkfdb@microsoft.com.

·         The Windows SDK Blog contains workarounds,  late-breaking and forward-looking news.


Copyright © 2010 Microsoft Corporation. All rights reserved. Legal Notices: http://www.microsoft.com/legal/.