Windows SDK versions

  • Revision slug: Windows_SDK_versions
  • Revision title: Windows SDK versions
  • Revision id: 54151
  • Created:
  • Creator: Sid0
  • Is current revision? No
  • Comment 1 words added, 1 words removed

Revision Content

The information on this page is valid for mozilla-central builds. Everything on this page except for --with-windows-version is valid for mozilla-1.9.1 and mozilla-1.9.0 too.

Mozilla supports building against several versions of the Windows SDK. Several features will be disabled if you build with an SDK older than the default, which means that you'll have to specify a non-default SDK version explicitly.

Quick start

Follow the instructions for whichever version of Visual C++ you're using.

Visual C++ 9 (VS2008) Professional

Download and install the Windows 7 SDK.

Visual C++ 8 (VS2005) Professional

  1. Download and install the Windows 7 SDK.
  2. Install this Microsoft hotfix to allow linking to work correctly.

Visual C++ 9 (VS2008) Express

  1. Download and install the Windows 7 SDK.
  2. EITHER

Visual C++ 7.1 or Visual C++ 8 (VS2005) Express

The Windows 7 SDK will probably not work with these versions. For mozilla-central and mozilla-1.9.2, it is recommended that you upgrade to one of the newer versions above.

You could also download the Windows Vista SDK and follow the instructions there to allow you to build against it. After that, EITHER

Windows 7 SDK

This is the SDK that official mozilla-central, mozilla-1.9.2 (Firefox 3.6), and project branch builds are built against. Features that depend on this SDK include:

  • Windows 7 taskbar previews (mozilla-1.9.2 and mozilla-central)
  • Windows 7 download taskbar progress (mozilla-1.9.2 and mozilla-central)
  • Windows 7 jump lists (mozilla-central)

You can download the SDK (web setup, ISO) from the Microsoft Download Center.

Note that this SDK does not come with ATL headers.

While this configuration will probably build on mozilla-1.9.1 and mozilla-1.9.0, it is not supported.

Windows Vista SDK

This is the SDK that official mozilla-1.9.1 (Firefox 3.5) builds are built against. Features that depend on this SDK include:

  • Windows Vista parental controls
  • File associations and application registration on Vista and above
  • Ability to display the UAC shield icon in the UI
  • Thunderbird Windows Search integration
  • Text Services Framework support

There are two ways to obtain it:

  1. Download the Windows Vista SDK from the Microsoft Download Center.
    • You may choose not to install the Sample Code and Documentation to save space and download time.
    • If you are using Windows XP, you must have Windows XP Service Pack 2 and .NET Framework 2.0 installed before installing the Vista SDK.
  2. Use Visual Studio 2008 Professional.

Note that the downloadable version of this SDK does not come with ATL headers.

If you would like to use this SDK on mozilla-1.9.2 and higher, add ac_add_options --with-windows-version=600 to your .mozconfig.

Windows Server 2003 R2 Platform SDK

This is your only option if you're on Windows 2000. You'll also need to install this if you are using a free version of Visual C++ and want to build code that uses ATL.

You can download the SDK from the Microsoft Download Center.

  • You need to install at least the "Windows Core SDK", "Web Workshop (IE) SDK", and the "Data Access Services (MDAC) SDK".
  • For all SDKs, you may choose not to install Sample Code and Documentation to save space and download time.

If you're building only with this SDK, you will need to add ac_add_options --with-windows-version=502 to your .mozconfig.

For mozilla-1.9.1 and mozilla-1.9.0, you need to add ac_add_options --disable-vista-sdk-requirements to your .mozconfig instead.

Unsupported SDKs

The Windows SDK for Windows Server 2008 is not supported, and has been found to cause the following problems:

  • breaks the vcvars32.bat file from Visual Studio 2008
  • no longer sets the correct PATH for the .NET framework
  • causes an invalid PATH which breaks the Mozilla build

If you have the Windows Server 2008 SDK installed, uninstall it. The SDK will break builds even if you try to use other SDKs.

Other possible workarounds:

  • use another SDK (the one shipped with Visual Studio 9)
  • delete the vcvars32.bat file and repair your Visual Studio installation with the setup program
  • edit vcvars32.bat to correct the problem (see http://blogs.msdn.com/windowssdk/arc...vironment.aspx "Workaround: Repair the VS2008 command line build environment by editing c:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat manually").

SDKs older than the Server 2003 R2 Platform SDK aren't supported either.

Revision Source

<div class="note">The information on this page is valid for mozilla-central builds. Everything on this page except for <code>--with-windows-version</code> is valid for mozilla-1.9.1 and mozilla-1.9.0 too.</div>
<p>Mozilla supports building against several versions of the Windows SDK. Several features will be disabled if you build with an SDK older than the default, which means that you'll have to specify a non-default SDK version explicitly.</p>
<h2>Quick start</h2>
<p>Follow the instructions for whichever version of Visual C++ you're using.</p>
<h3>Visual C++ 9 (VS2008) Professional</h3>
<p>Download and install the <a href="/En/Windows_SDK_versions#Windows_7_SDK" title="En/Windows SDK versions#Windows 7 SDK">Windows 7 SDK</a>.</p>
<h3>Visual C++ 8 (VS2005) Professional</h3>
<ol> <li>Download and install the <a class="internal" href="/En/Windows_SDK_versions#Windows_7_SDK" title="En/Windows SDK versions#Windows 7 SDK">Windows 7 SDK</a>.</li> <li>Install this <a class=" external" href="http://support.microsoft.com/kb/949009/" title="http://support.microsoft.com/kb/949009/">Microsoft hotfix</a> to allow linking to work correctly.</li>
</ol>
<h3>Visual C++ 9 (VS2008) Express</h3>
<ol> <li>Download and install the <a class="internal" href="/En/Windows_SDK_versions#Windows_7_SDK" title="En/Windows SDK versions#Windows 7 SDK">Windows 7 SDK</a>.</li> <li>EITHER<br> <ul> <li>Download and install the <a class="internal" href="/En/Windows_SDK_versions#Windows_Server_2003_R2_Platform_SDK" title="En/Windows SDK versions#Windows Server 2003 R2 Platform SDK">Windows Server 2003 R2 Platform SDK</a> as well, OR</li> <li>Disable code that uses ATL -- see <a class="internal" href="/en/atlbase.h" title="En/Atlbase.h">atlbase.h</a>.</li> </ul> </li>
</ol>
<h3>Visual C++ 7.1 or Visual C++ 8 (VS2005) Express</h3>
<p>The Windows 7 SDK will probably not work with these versions. For mozilla-central and mozilla-1.9.2, it is recommended that you upgrade to one of the newer versions above.</p>
<p>You could also download the <a href="/En/Windows_SDK_versions#Windows_Vista_SDK" title="En/Windows SDK versions#Windows Vista SDK">Windows Vista SDK</a> and follow the instructions there to allow you to build against it. After that, EITHER</p>
<ul> <li>Download and install the <a class="internal" href="/En/Windows_SDK_versions#Windows_Server_2003_R2_Platform_SDK" title="En/Windows SDK versions#Windows Server 2003 R2 Platform SDK">Windows Server 2003 R2 Platform SDK</a> as well, OR</li> <li>Disable code that uses ATL -- see <a class="internal" href="/en/atlbase.h" title="En/Atlbase.h">atlbase.h</a>.</li>
</ul><h2>Windows 7 SDK</h2>
<p>This is the SDK that official mozilla-central, mozilla-1.9.2 (Firefox 3.6), and project branch builds are built against. Features that depend on this SDK include:</p>
<ul> <li>Windows 7 taskbar previews (mozilla-1.9.2 and mozilla-central)</li> <li>Windows 7 download taskbar progress (mozilla-1.9.2 and mozilla-central)</li> <li>Windows 7 jump lists (mozilla-central)</li>
</ul>
<p>You can download the SDK (<a class="external" href="http://www.microsoft.com/downloads/details.aspx?familyid=C17BA869-9671-4330-A63E-1FD44E0E2505&amp;displaylang=en" title="http://www.microsoft.com/downloads/details.aspx?familyid=C17BA869-9671-4330-A63E-1FD44E0E2505&amp;displaylang=en">web setup</a>, <a class="external" href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=71deb800-c591-4f97-a900-bea146e4fae1" title="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=71deb800-c591-4f97-a900-bea146e4fae1">ISO</a>) from the Microsoft Download Center.</p>
<p>Note that this SDK does not come with ATL headers.</p>
<div class="note">While this configuration will probably build on mozilla-1.9.1 and mozilla-1.9.0, it is not supported.</div><h2>Windows Vista SDK</h2>
<p>This is the SDK that official mozilla-1.9.1 (Firefox 3.5) builds are built against. Features that depend on this SDK include:</p>
<ul> <li>Windows Vista parental controls</li> <li>File associations and application registration on Vista and above</li> <li>Ability to display the UAC shield icon in the UI</li> <li>Thunderbird Windows Search integration</li> <li>Text Services Framework support</li>
</ul>
<p>There are two ways to obtain it:</p>
<ol> <li>Download the <a class="external" href="http://www.microsoft.com/downloads/details.aspx?familyid=4377F86D-C913-4B5C-B87E-EF72E5B4E065&amp;displaylang=en" title="http://www.microsoft.com/downloads/details.aspx?familyid=4377F86D-C913-4B5C-B87E-EF72E5B4E065&amp;displaylang=en">Windows Vista SDK</a> from the Microsoft Download Center. <ul> <li>You may choose not to install the Sample Code and Documentation to save space and download time.</li> <li>If you are using Windows XP, you must have <a class="external" href="http://www.microsoft.com/windowsxp/sp2/default.mspx" rel="external nofollow" target="_blank" title="http://www.microsoft.com/windowsxp/sp2/default.mspx">Windows XP Service Pack 2</a> and <a class="external" href="http://www.microsoft.com/downloads/info.aspx?na=47&amp;p=3&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=4377f86d-c913-4b5c-b87e-ef72e5b4e065&amp;u=details.aspx?familyid=0856EACB-4362-4B0D-8EDD-AAB15C5E04F5&amp;displaylang=en" rel="external nofollow" target="_blank" title="http://www.microsoft.com/downloads/info.aspx?na=47&amp;p=3&amp;SrcDisplayLang=en&amp;SrcCategoryId=&amp;SrcFamilyId=4377f86d-c913-4b5c-b87e-ef72e5b4e065&amp;u=details.aspx%3ffamilyid%3d0856EACB-4362-4B0D-8EDD-AAB15C5E04F5%26displaylang%3den">.NET Framework 2.0</a> installed before installing the Vista SDK.</li> </ul> </li> <li>Use Visual Studio 2008 Professional.</li>
</ol>
<p>Note that the downloadable version of this SDK does not come with ATL headers.</p>
<p>If you would like to use this SDK on mozilla-1.9.2 and higher, add <code>ac_add_options --with-windows-version=600</code> to your .mozconfig.</p><h2>Windows Server 2003 R2 Platform SDK</h2>
<p>This is your only option if you're on Windows 2000. You'll also need to install this if you are using a free version of Visual C++ and want to build code that uses ATL.</p>
<p>You can <a class="external" href="http://www.microsoft.com/downloads/details.aspx?familyid=0baf2b35-c656-4969-ace8-e4c0c0716adb&amp;displaylang=en" title="http://www.microsoft.com/downloads/details.aspx?familyid=0baf2b35-c656-4969-ace8-e4c0c0716adb&amp;displaylang=en">download the SDK</a> from the Microsoft Download Center.</p>
<ul> <li>You need to install at least the "Windows Core SDK", "Web Workshop (IE) SDK", and the "Data Access Services (MDAC) SDK".</li> <li>For all SDKs, you may choose not to install Sample Code and Documentation to save space and download time.</li>
</ul>
<p>If you're building <em>only with this SDK</em>, you will need to add <code>ac_add_options --with-windows-version=502</code> to your .mozconfig.</p>
<div class="note">For mozilla-1.9.1 and mozilla-1.9.0, you need to add <code>ac_add_options --disable-vista-sdk-requirements</code> to your .mozconfig instead.</div>
<h2>Unsupported SDKs</h2>
<p>The Windows SDK for Windows Server 2008 is not supported, and has been found to cause the following problems:</p>
<ul> <li>breaks the vcvars32.bat file from Visual Studio 2008</li> <li>no longer sets the correct PATH for the .NET framework</li> <li>causes an invalid PATH which breaks the Mozilla build</li>
</ul>
<p><strong>If you have the Windows Server 2008 SDK installed, uninstall it. The SDK will break builds even if you try to use other SDKs.</strong></p>
<p>Other possible workarounds:</p>
<ul> <li>use another SDK (the one shipped with Visual Studio 9)</li> <li>delete the vcvars32.bat file and repair your Visual Studio installation with the setup program</li> <li>edit vcvars32.bat to correct the problem (see <a class=" external" href="http://blogs.msdn.com/windowssdk/archive/2008/04/18/installing-win-sdk-for-svr-2008-after-vs-2008-breaks-vs-command-line-build-environment.aspx" rel="freelink">http://blogs.msdn.com/windowssdk/arc...vironment.aspx</a> "Workaround: Repair the VS2008 command line build environment by editing c:\Program Files\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat manually").</li>
</ul>
<p>SDKs older than the Server 2003 R2 Platform SDK aren't supported either.</p>
Revert to this revision