Visual Studio Setup

Installation and containerization of the Visual Studio family of products

64-bit Windows is Here

Yesterday was a truly remarkable day. Not since Windows NT 3.1 released in 1993 have we seen such a shift in computing on Windows to another architecture. Windows Server 2003 SP1 for x64 and Windows XP Professional for x64 were released to manufacturing (RTM). While Windows Server 2003 was RTM'd for the Intel Itanium (ia64) in March of 2003 as...

Thawte Notary

I'm now a Thawte Web of Trust (WOT) notrary and am able to make assertions in person of your identity in order to get your own name on a free Thawte Freemail S/MIME certificate. This is a certificate that allows you to encrypt and sign email message using most email applications available.How does it work? You start by signing up for a free ...

We're Hiring

The Customer Product-Lifecycle Experience team - part of the Developer Division of Microsoft - is hiring full time software design engineers (SDEs). We're the team responsible for continuing support for products Developer Division has shipped, as well as a few other projects from Microsoft.We are responsible for not only the patch build system...

Guidelines for COM Interoperability from .NET

In developer forums in which I participate I often read and respond to questions asking about COM interoperability (interop) and my reply is almost always the same. There are guidelines - if not rules - for exposing .NET Framework components to COM and they are all based on guidelines for COM development. If you have experience writing COM ...

The Dangers of RunOnce and Run Registry Keys

A recent project I worked on was to replace functionality for part of our patching process that runs commands after reboot, a task not too uncommon for installers - most notably because files were in use when the installers ran. Typically when files are in use installers such as Windows Installer and many proprietary installers will schedule a...

New Locale-dependent C Runtime Functions

In "POSIX" style locale support on Windows?, Michael Kaplan, the Technical Lead for Windows Globalization, describes the existing locale-dependent functions in the C Runtime (CRT) as "unwieldy". To compare strings, for example, using a different locale than is currently set for the process or thread you must call setlocale() to ...

Fighting SPAM and HIV

Microsoft researchers announced on Wednesday that the same technology used to effectively fight SPAM is now being used to fight HIV. The Bill & Melinda Gates Foundation have already given over $1 billion in grants to help fight HIV, TB, and reproductive health alone, with over $4 billion since the foundation's inception given to global ...

Security Improved…then Destroyed

Michael Howard - our Sr. Security Program Manager here at Microsoft - blogs about how the improved security features in XP SP2 were effectively destroyed in an article in PC Magazine, "Making Windows XP Start Faster", by turning off the Automatic Updates and Internet Connection Firewall (ICF) services.Great improvements have - and are still - ...

x86 and ia64 and x64, oh my!

With the .NET Framework 2.0 now supporting 64-bit platforms, I have begun work on upgrading our patch build system to handle 64-bit patches. It's been quite an adventure down the yellow-brick road of 64 bitness that I think is worth sharing.Why does the .NET Framework need to support 64-bit platforms, though? While most IL modules ...

The Differences between Locales and Languages

In a recent change - while we were still known as Developer Division Sustained Engineering - I addressed a functional change that relied on locales instead of languages for MUI support. I see this mistake a lot in developer forums and so I wanted to address what the difference was between a locale and languages.A locale represents regional ...