All posts for the month December, 2011


Adjust the clock on your computer


Courtesy of

What is Neobook?

Without ANY programming knowledge, you too can create and compile great full featured Windows Software, presentations, e-books, e-zines, catalogs and much more!

Simply put, it is a programming environment that allows you to create, compile and distribute royalty free applications of any kind. From beginners to advanced programmers, NeoBook RAD5 Pro has something for everybody. Try it free!

More Info

Download 30 day free trial
Buy Now for 10% off


How To Copy & Paste


Courtesy of

What is Neobook?

Without ANY programming knowledge, you too can create and compile great full featured Windows Software, presentations, e-books, e-zines, catalogs and much more!

Simply put, it is a programming environment that allows you to create, compile and distribute royalty free applications of any kind. From beginners to advanced programmers, NeoBook RAD5 Pro has something for everybody. Try it free!

More Info

Download 30 day free trial
Buy Now for 10% off

Web graphics in SVG (Scalable Vector Graphics) format offer better quality display over a broader range of device sizes compared to bitmap-based graphics. SVG also has inherent accessibility making it the best choice for interactive graphics and those involving text.

SVG usage on the Web continues to grow. Last week at SVG Open 2011, we had the opportunity to meet with and hear from Web developers putting SVG to use in a wide variety of real-world applications. These applications include data-driving charts, technical drawings, games, interactive instructional diagrams, and geographic visualization of data.

Though the SVG specification itself is nearing a decade old, SVG wasn’t available as an inline element in HTML until the HTML5 specification. As browsers support SVG as part of HTML5, the next generation Web can use these technologies to enable Web experiences previously available only with the use of plug-in technologies. SVG’s easy integration with HTML markup, CSS, the HTML DOM, and JavaScript makes it a natural choice for building integrated, interactive experiences that are stylable and adaptable to different form factors. SVG is also the declarative vector graphics technology for building Windows 8 Metro style apps using HTML.

In this post, I offer ideas for when to use SVG in your HTML5 Web sites and outline some best practices to help you get started with SVG.

When to use SVG in HTML5

As the declarative graphics format in HTML5, SVG is designed for graphics that need to scale, contain selectable text, are dynamic and interactive, or benefit from being styled using CSS. (For a comparison of SVG and HTML5’s procedural 2D graphics element, <canvas>, see thoughts on when to use Canvas and SVG.)

Scalable Graphics

Graphics are used in different contexts and on different mediums. SVG is an excellent choice because fidelity is maintained at all resolutions—important for dealing with different device form factors and high-quality printing. for instance, SVG is a great format for logos as illustrated by the W3C HTML5 logo below.

The W3C HTML5 logo at different sizes

Selectable Text

Images containing text are better served as SVG than a raster alternative. Charts and diagrams fall under this category. In addition to the added benefit of scalability, the text in charts and diagrams retains the properties of text. It can be copied and pasted, searched, and easily updated. Image headers containing decorative text may be candidates for using SVG. WOFF fonts combined with a text stroke and gradient or pattern fill enables customized text to remain selectable and indexed by search engines.

Flow charts, for instance, tend to be composed mostly of text, which incidentally serves as good search terms for the image. As can be seen in the screenshot below, the text within an SVG chart can be selected; just like other text, it can be copied, crawled by a search engine, or even used in conjunction with Accelerators in IE.

A flowchart showing selected text

Dynamic and Interactive Graphics

Dynamic and interactive graphics can include games, maps, graphs, seating charts, and more. one use of SVG that Internet users frequently encounter can be found on Bing and Google maps. when requesting directions, they draw a blue SVG path that your car should follow, overlaid on a raster map image. SVG can be generated through client-side scripting, which is great for making minor additions to existing images as with mapping directions. SVG’s rich DOM support also makes it fantastic for dynamically changing images. Charts can be updated in the browser as data changes. Shapes can move and change size or color by altering their DOMs. Additionally, SVG’s hit testing abilities mean that precise interactions with shapes can occur. much like with HTML elements, event handlers can be attached to an SVG element. However, unlike HTML elements, mouse events will only be affected by mouse interactions on the shape and not its entire rectangular bounding box.

Map showing driving directions: base map is a bitmap image, driving path is overlaid SVG

Formatting with CSS

The benefits of styling content with CSS are another core reason for using SVG. every shape in SVG is reflected in the DOM and contains all information about the graphic, including the appearance of each shape. This makes it easy to update the styling information about each shape. UI elements can benefit from using SVG as it allows for non-rectangular shapes and its appearance is customizable. The fills, strokes, and opacity of shapes can be modified via a new stylesheet, via script, or even via a pseudo selector such as :hover.

These benefits of SVG are not mutually exclusive. for example, below is a map graphic that displays data over time. It scales well and utilizes multiple stylesheets to show data changes over time. On this map, only the colors of the states are changing. each state is represented by a <path> element with an id corresponding to its postal code. using CSS selectors on these ids, the fill color of the shapes is specified in stylesheets that are each applied as appropriate when cycling through years. Election maps often show data trends in this color-coded manner. You could easily envision live election result updates requiring only minor modification of the graphic. These updates are simple, isolated, and small.

A choropleth map of the United States illustrating some data over time

Getting Started: best Practices

Despite SVG’s similarities to HTML, some frequently made errors can easily be avoided. Listed below are some common mistakes to avoid so that you don’t waste time figuring out what’s going on.

HTML5 Doctype

If you are including SVG inline in HTML5, make sure you use the HTML5 doctype <!DOCTYPE html>. This is a requirement of HTML5. Without specifying the appropriate doctype, your page will not render in the expected document mode in IE9 or IE10. As a result, your SVG content will not appear. Don’t forget to specify the HTML5 doctype!

Default Overflow

Like other HTML elements such as <div>, the default overflow for a top-level inline <svg> element is visible. (This is different from the default behavior of an <svg> element in XHTML, which is “overflow: hidden.”) This default means that SVG content outside the <svg> element’s bounding box will be visible. In some cases, this can lead to unexpected behavior. You can remedy this by explicitly setting either the SVG attribute overflow=”hidden” on your <svg> element or by adding svg { overflow: hidden; } to your document’s CSS block.

default overflow is visible <svg overflow=”hidden”>
SVG content is clipped Default Text Baseline Position

If you are creating SVG by hand, you may not realize that the y attribute of <text> and <tspan> elements refers to the baseline of your text. If you do not specify the y attribute, text is positioned at y=0 relative to its containing transform. This could mean the text baseline is positioned at the top of the SVG container and end up being invisible if you’ve set overflow=”hidden” as described above. so, if you don’t see your text, check to see if the y attribute is specified with a positive value.

<text> (default y=0) <text y=”25″> Accessibility

Achieving a graphic fully accessible is challenging but because SVG supports adding descriptive text and titles to individual SVG graphic elements and groups of elements, it is possible to create an SVG graphic with much greater accessibility than an HTML <img> element’s alt text.

Without any additional markup, text content is naturally readable by screen readers. for graphic elements, adding <title> and <desc> tags as child elements of the shape or group allows screen readers access to that descriptive text. Like the title attribute of an HTML <img> element, SVG title elements display as a tooltip with the mouse is hovered over the containing shape.

The following example illustrates the <title> element on a simple drawing.

<?xml version="1.0" encoding="UTF-8"?>

<svg xmlns="" xmlns:xlink="" width="500" height="300" viewBox="0 0 500 300">

<title>Abstract Art</title>

<style type="text/css">

.c0, .c1, .c2 { fill-opacity: 1; fill-rule: evenodd; stroke-dasharray: none; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 4; stroke-opacity: 1; stroke-width: 10px; }

.c0 { fill: #e3caad; stroke: #4e320e; }

.c1 { fill: #bc9dc9; stroke: #4b1268; }

.c2 { fill: #2cec7d; stroke: #2c9549; stroke-linecap: butt; stroke-linejoin: miter; }

<rect class="c0" width="131.429" height="168.571" x="37.143" y="40.934">


<title>Bunch of grapes</title>

<path class="c2" d="M314.286,78.076 340,15.219 428.571,26.648z">

<title>Grape Leaf</title>

<circle cx="270" cy="100" r="20" class="c1" id="grape"/>

<use xlink:href="#grape" x="40"/>

<use xlink:href="#grape" x="80"/>

<use xlink:href="#grape" x="20" y="35"/>

<use xlink:href="#grape" x="60" y="42"/>

<use xlink:href="#grape" x="38" y="80"/>

In addition, the focusable attribute can be used to enable keyboard access to these descriptions. If focusable=”true”, a tab stop will be created for that element, making it easy for a keyboard-centric user to focus on the shape and obtain its information from an accessibility tool. Additionally, tabbing to and from these elements will trigger the focusin and focusout events.

MIME type

If you are serving up standalone SVG files, ensure that the server is configured to be serving up the files with the proper MIME type. The correct SVG MIME type is image/svg+xml. This is not to be confused with image/svg-xml. some already existing content may use the incorrect MIME type due to the Adobe SVG Viewer’s acceptance of it. Make sure you are using the correct MIME type.

SVGZ files

Similar to the above, if you are using compressed SVG, you should make the line Content-Encoding: gzip is in your header response of the SVG file, much like how other gzip-encoded files should have this header response line.

Scaling: viewBox and preserveAspectRatio

To ensure your graphics will scale the way that you’d like it to, specify the viewBox attribute on your top-level <svg> element. With a viewBox specified, changing the height and width of the graphic will scale it rather than clip the SVG image.

The preserveAspectRatio attribute can also be used to control the scaling of images within SVG. The syntax of this attribute is preserveAspectRatio=”align meetOrSlice“. These two parameters describe the how an image is to fit into its containing <image> element and where the image is positioned within the container. By setting preserveAspectRatio=”none”, the SVG <image> element behaves like the HTML’s <img> element as illustrated below.

Photo of two giraffesPhoto of two giraffes scaled to fit odd container
Left: image at its original aspect ratio; Right: same image stretched into a 200 x 81 container with preserveAspectRatio=”none”

Things get interesting when preserveAspectRatio is not “none”. In such cases you control how the image aligns within a container of a different aspect ratio than the image itself. The meetOrSlice parameter determines whether the image is scaled down to fit within the container (meet) or scaled up to fill the container (slice). The align parameter specifies how to align the image within its container. three options—min, mid, and max—are provided for each direction—x and y. This yields nine combinations of alignments specified as:

  • xMinYMin – align image in left-top corner of container
  • xMidYMin – align image at center-top of container
  • xMaxYMin – align image in right-top corner of container
  • xMinYMid – align image at left-middle of container
  • xMidYMid – align image at center-middle of container
  • xMaxYMid – align image at right-middle of container
  • xMinYMax – align image in left-bottom corner of container
  • xMidYMax – align image at center-bottom of container
  • xMaxYMax – align image in right-bottom corner of container

The following examples show how an image is aligned for its controlling alignment. Note that align only matters in one dimension at a time; the image exactly fills the container in the other dimension so it doesn’t matter whether that dimension is min, mid, or max.

xMin xMid xMax YMin YMid YMax meetOrSlice parameter = “meet”: image is scaled down to fully fit within the container leaving empty space if the container aspect ratio differs from that of the image xMin xMid xMax YMin YMid YMax meetOrSlice parameter = “slice”: image is scaled up to fully fill the container cuttin off some of the image if the container aspect ratio differs from that of the image

SVG’s preserveAspectRatio property gives you the control to define both the scaling and positioning of an image within its container. preserveAspectRatio=”none” yields behavior common with HTML.

Scripting: SVG DOM vs. Core DOM

The getAttribute() and setAttribute() methods come from the DOM Core specification and apply to HTML and XML alike, including SVG. These methods are familiar, easy, and consistent ways to make changes to element attributes. Regardless of the attribute to be changed, setAttribute(attribute, value) can always be used. However, performance gains can often be attained by taking advantage of the SVG DOM. SVG supports its own DOM that exposes a multitude of attribute values and methods. Due to the nature of the SVG DOM, modifying attribute values requires a steeper learning curve than simply using setAttribute(). But the SVG DOM provides direct access to attribute values, which both improves performance and can make value manipulation simpler.

For instance, the following function doubles the radius of a circle element using setAttribute():

function doubleCircleRadius(circle) {

circle.setAttribute("r", 2 * parseFloat(circle.getAttribute("r")));

function doubleCircleRadius(circle) {

circle.r.baseVal.value *= 2;

With the setAttribute() and getAttribute() methods of the Core DOM, parsing will often be required to manipulate values. Modifying values based on the existing ones is easier done with the SVG DOM.

Because the SVG DOM accesses attributes directly instead of dealing in strings, value type awareness is necessary and makes scripting with it more complex.

Below is a table describing a generalization of how to access a few common attributes:

Value “type” Attribute examples DOM access Presentation attribute fill, stroke Length r, width, height, cx, cy, x, y elem.r.baseVal.value Object viewBox elem.viewBox.baseVal.x
elem.viewBox.baseVal.height List transform, d elem.transform.baseVal.getItem(0);

The SVG DOM interfaces are documented at the end of each chapter in the SVG specification.

Tools & Libraries

Though SVG is readable and can be crafted by hand, it is still largely visual and often unintuitive to translate a visual graphic into a mathematical description of its shape. using vector design tools already in existence today, static SVG images can easily be created. Inkscape is an option available for free download. Adobe Illustrator, often used by professional Web developers to create vector images, can save files in the SVG format. Microsoft Visio, also capable of exporting in an SVG format, is tailored towards developing business diagrams and flowcharts. If optimization is important to you, note that these applications do not output SVG in the simplest format; their output contains proprietary namespace elements and attributes that allow for round-trip editing but are not useful for final production graphics. Additional markup cleanup may be desired for a reduction in file size or for easy styling.

In addition to Inkscape, another free SVG editor is SVG-edit. It is a JavaScript SVG editor and uses your browser to render the SVG creation! The latest alpha version has some great features. try it in IE9!

IE9 supports WOFF fonts instead of SVG Fonts. WOFF fonts bridge the gap between HTML and SVG, reducing the learning curve for SVG and integrating SVG as a part of HTML. This makes it easy to apply the same custom fonts to both your HTML and SVG content. for those already acquainted with SVG fonts, Font Squirrel can convert your SVG Fonts to the WOFF format.

Another common problem is providing fallback support for older versions of IE that do not support SVG. SVG libraries on the Web often provide fallback support and abstract the process away from you. RaphaelJS is one of the most widely known that displays VML in older versions of IE. Charting libraries that provide graceful fallback, such as Highcharts are springing up all over the web.

These are just a few basic resources to help you get started. The tools and libraries in existence today fall into two camps: (1) creation of static, standalone SVG content and (2) programming dynamic, script-driven, and script-created SVG. Both have their place in your toolbox. for those of you pioneering SVG on the Web, you’ll find there is a lot to play around with.

Call to Action

You’ve seen SVG in use. With its benefits outlined and some practical tips to avoid early roadblocks, there’s every reason to start experimenting with SVG to see how you can take advantage of it on your HTML5 Web site. Post some of your creations or links to other libraries – we’d love to see them!

—Jennifer Yu, Program Manager, Internet Explorer Graphics

Best Practices for Getting Started with SVG

Main Features: Users register and pay for participation; Customizable bid increment system; Powerful admin panel; Autobid; Bid Packages. Administrator Panel Settings: – General Settings – on this page the site administrator can define basic variables on the site like the site name, site url, administrator email and administrator PayPal email. – Picture Upload – Define the max uploaded image size. – Auction Duration. – Bid Increments – Site administrator can define the amount the bid will increase every time another bid is made on the auction. the values defined are the amount ranges and the in…

Swoopo/Penny Auction Script

A few minutes ago Microsoft released an advance notification security bulletin announcing that we are releasing an out-of-band security update to address an ASP.NET Security Vulnerability.

Dec 29th Update: the security update (MS11-100) has now shipped and is available to install via Windows Update, the Windows Server Update Service and as a download from the Microsoft Download Center.

The security update we are releasing resolves a publicly disclosed Denial of Service issue present in all versions of ASP.NET.  We’re currently unaware of any attacks on ASP.NET customers using this exploit, but we strongly encourage customers to deploy the update as soon as possible. 

We are releasing the security update via Windows Update and the Windows Server Update Service.  you can also manually download and install it via the Microsoft Download Center.  We will release the update on Thursday, December 29th at approximately 10am Pacific Time (US and Canada).  We are announcing it ahead of time to ensure that administrators know that the security update is coming, and are prepared to apply it once it is available.

More about the Security Vulnerability

On Dec 28th 2011, details were published at a security conference describing a new method to exploit hash-table data-structures used in web frameworks.  Attacks targeting this type of vulnerability are generically known as “hash collision attacks”.

Hash collision attacks attempt to populate a hash-table within a server app with large numbers of items whose keys resolve to the same hash code.  These key collisions can significantly slow down operations on the hash-table, and with enough elements can cause a server to spend minutes (or even hours) processing them.  This can block a web server from processing requests from other users, and cause a denial of service (meaning the web site becomes unresponsive or slow).

Attacks such as these are not specific to any particular language or operating system.  Presenters at the security conference discussed how to cause them using standard HTTP form posts against several different web frameworks (including ASP.NET).  because these attacks on web frameworks can create Denial of Service issues with relatively few HTTP requests, there is a high likelihood of attacks happening using this approach.  We strongly encourage customers to deploy the update as soon as possible.

The security update we are releasing on Thursday, December 29th updates ASP.NET so that attackers can no longer perform these attacks.  the security update does not require any code or application changes. 

Learn More

You can learn more about this security vulnerability from the Microsoft Security Advisory (2659883) we have already released.  We will release the security update on Windows Update, the Windows Server Update Service and the Microsoft Download Center on Thursday Dec 29th at approximately 10:00am Pacific Time (US and Canada)

Dec 29th Update: the security update (MS11-100) has now shipped and is available to install via Windows Update, the Windows Server Update Service and as a download from the Microsoft Download Center.

If you have questions about the vulnerability or have any issues applying the update, you can post questions in the Security Vulnerability forum on the web-site.

For all the latest information, you can also follow the MSRC team on Twitter at @MSFTSecResponse.

ASP.NET Security Update Shipping Thursday, Dec 29th

The upcoming Windows SDK for Windows 7 and .NET Framework 4 (WinSDK v7.1) is packed with new features supporting developers creating applications for Windows 7/Server 2008 R2 or targeting the .NET Framework 4. This SDK will be released soon after the RTM version of Visual Studio 2010 is released.

You can build Windows 7/Server 2008 R2 and .NET Framework 4 applications right out-of-the box with Visual Studio 2010. This standalone release of the Windows SDK will help you create Windows 7/Server 2008 R2 applications using earlier versions of Visual Studio or another build environment. if you are creating applications to run on older operating systems this is likely the right SDK for you, too; see the support section below.

What’s new in the WinSDK v7.1 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 10. you can import just the content you need from the MSDN cloud, and update it according to your schedule.

· VC++ 2010 RTM 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 C++ project type, .vcxproj.

What does the Win SDK v7.1 support?

· OS: 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 2005/2008; some samples will not build in VS 2005, and samples require upgrade in VS2010.)

· 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.

What are the prerequisites for the SDK: you’ll need to install the full version of .NET Framework 4 Redistributable Components. This must be the final, RTM version of the full, extended Framework. The Client version of the Framework will not work, and the SDK will not install on a computer that has a pre-release (Beta or RC) version of the .NET Framework 4.

Tell me more!

Here’s more detailed information about the features in the Windows SDK v7.1, which are arranged on the setup screen into 3 groups

· Common development resources useful to all developers

· Native developer resources

· Managed developer resources

Common development resources

· Microsoft help system 1.0:  This new help system was delivered first with Visual Studio 2010. MHS allows you to view documents on MSDN Library, and select documents to download from the 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 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.

· Command line build environment: A redesigned build environment builds both native (C++, makefile) and managed applications (C++/CLI, C#, VB) using the new Visual C++ 2010 compiler/CRT and MSBuild 4.0 is in WinSDK v7.1.  Upgrading earlier versioned projects is supported, and you can create debug and release builds targeting XPSP3, Vista, Server 2003 R2, Server 2008, Windows 7 and Server 2008R2.  The SDK build environment is now completely separate from Visual Studio build environments, and changes made to one environment no longer affect the other.

· Popular tools: Nearly 100 great tools for both native and managed developers are delivered with this SDK, such as Debugging Tools for Windows, Windows Performance Toolkit, Application Verifier, Windows Troubleshooting Pack Designer, Windiff, and lots more.

Native development resources

· Windows headers and libraries:  Each release of the SDK ships with the latest RTM headers and libraries for native Windows development. WinSDK v7.1 includes a slightly more recent set than the Windows 7 RTM SDK.  This set matches exactly the Windows headers/libraries delivered via Visual Studio 2010 RTM.  (If you’re already using Visual Studio 2010 or VC++ 2010 Express there’s no need to update the Windows headers, libraries and tools using the SDK. Visual Studio 2010 is completely up to date.)

· VC++ 2010 compilers/CRT: The brand new, version 10.0 native compilers/CRT for X86, X64 and IA64 are available with WinSDKv7.1 and integrated with SDK command-line build environment.

· Windows samples: This release provides the same set of Windows samples delivered in the Windows 7 RTM SDK, with limited, high-priority updates. Take a look at the Windows SDK Blog posts about the sample updates for Windows 7. Native samples have a mix of VS 2005 and VS 2008 project files, which can be upgraded in the SDK v7.1 build environment to build with the VC++ 2010 compiler.

· Windows Tools: WinSDK v7.1 includes a slightly more updated set of Windows tools than the Windows 7 RTM SDK or VS2010 RTM.  several tools have been updated and several new tools added.

· Windows Reference assemblies: these are the same versions that shipped in Windows 7 RTM SDK and VS2010 RTM for FSRM, MMC, TabletPC, UDDI, Windows Media Services and Windows PowerShell. (A reference assembly is an assembly that is referenced by design-time tools typically for the purpose of examining the metadata that describes the types in the assembly. some of the SDK samples illustrate use of these reference assemblies.)

· Windows SDK v7.1 Platform toolset: This set of custom WinSDK v7.1 props and targets files allows the native multi-targeting function in Visual Studio 2010 to use the Windows SDK v7.1 resources with Visual Studio 2010. Multi-targeting is the ability to use the current version of Visual Studio to build your application with a different set of installed tools or SDKs. if you want to build a native application in Visual Studio 2010, but you want to use the Windows headers, libraries and tools delivered in the WinSDK v7.1, you can do so by using the Windows SDK v7.1 Platform toolset. (Remember though, there’s no need to do so for most development scenarios. The Windows headers, libraries and tools delivered via Visual Studio 2010 are completely up to date.)

· Windows SDK Configuration tool: if you’re using Visual Studio/Visual C++ versions 2005 or 2008 you can use this tool to integrate the WinSDK v7.1 version of the Windows headers, libraries and tools with Visual C++. This tool makes it easier to build a Windows 7 application with Visual Studio 2005/2008.

Managed development resources

· .NET Framework 4 Reference Assemblies: The Windows SDK is the new delivery vehicle for .NET Framework 4 reference assemblies.  The .NET Framework Redistributable Package ( .NET Framework 4 will be available soon on the Microsoft Download Center) no longer delivers these assemblies. Visual Studio 2010 customers receive these as part of the VS install, but users of third-party tools for managed development may want to get them from WinSDK v7.1. 

· .NET Framework IntelliSense: these XML files are used to provide interactive documentation for .NET Reference Assemblies, which appears dynamically in the form of tooltips while programming.   Visual Studio 2010 customers can use the IntelliSense feature and files installed with Visual Studio, but users of third-party tools for managed development may want to get the IntelliSense filese from WinSDK v7.1. 

· .NET Framework Hosting & Tools Development Headers/Libraries: these native header files provide developers with the ability to inter-operate between managed and unmanaged environments s to enable native access to the .NET Framework 4 runtime.   The APIs can be used for writing custom native runtime hosts, compilers, disassemblers, obfuscators, debuggers, and profilers, etc., which will target the .NET Framework 4.

· .NET Framework samples: WinSDK v7.1 provides links to these samples available on MSDN Code Gallery.  .NET samples are no longer delivered via the Windows SDK.

· .NET Framework 3.5 tools: This release includes the same .NET 3.5 SP1 versions of the .NET tools as previously shipped in the Windows 7 RTM SDK, allowing you to create applications that target the .NET Framework 3.5 SP1.

· .NET Framework 4 tools: This release includes the VS2010 RTM versions of the .NET 4 tools, allowing you to create applications that target the .NET Framework 4.

I want to use Visual Studio 2010. Should I install the Windows SDK v7.1?

If you install Visual Studio 2010 there’s no need to update the Windows headers, libraries and tools using the WinSDK v7.1. Visual Studio 2010 RTM version is completely up to date.  if you want to install an SDK component that is not included with Visual Studio 2010, such as the Windows Samples, you may wish to download and install the SDK.

I want to use Visual C++ 2010 Express. Should I install the Windows SDK v7.1?

If you install Visual C++ 2010 Express, the Windows headers and libraries in that product are already up to date. however, the Windows SDK v7.1 includes more tools than are delivered with Visual C++2010. if you want to install an SDK component that is not included with Visual C++ 2010 Express, such as the Windows Samples or 64-bit native compilers/CRT, you may wish to download and install WinSDK v7.1. you can use the Web setup utility to install only the components you need. Web setup allows you to install selected components of the SDK without having to download the entire SDK. 

How can I get it?

This SDK will be released soon after the RTM version of Visual Studio 2010 is released. The SDK release will be announced on the MSDN Windows SDK Developer Center and the Windows SDK blog. Subscribe to the RSS feed to be notified when the SDK is released.

Karin Meier
Program Manager
Windows C++ Team
Windows SDK

Coming soon: Win SDK for Windows 7 and .NET 4

About 3 years ago, I launched my first product. I built it with two fabulous partners, who continue to produce awesome things. It was a little app, and a tool I thought made for better web. It is no longer online, due to costs, it was a URL aggregator called It was a big deal for me, as it was something I made, and put online for others to use. It was a useful tool, and I’m still very proud of it.

There is No Such Thing as Proprietary Client-side JavaScript