Site Contents

Intro & News

Development

Miscellaneous

Projects


Microsoft Links

This page lists a couple of useful locations on Microsoft’s labyrinthine website, ordered by category. All listed software packages are available as free downloads, unless otherwise noted.

Languages & SDKs

  • All Microsoft Visual Studio Express editions are available as free downloads, unlike their bigger cousins. The C#, Visual Basic, and C++ editions provide you with a nice IDE for the free compilers included in the Windows SDK.
  • The new Microsoft Windows SDK comprises both the former Platform SDK and the .NET Framework SDK. Aside from native and managed code libraries, this includes compilers for C++, C#, Visual Basic, and JScript, plus various tools, samples, and the MSDN Library documentation. If you can live without an integrated development environment, this is all you need to develop Windows applications. Visual Studio already comes with the SDK.
  • Microsoft F# is a functional .NET programming language based on ML, or rather OCaml. F# ships with Visual Studio 2010 but if you intend to use the language you’ll also want to download the F# PowerPack on CodePlex.
  • Visual Studio Professional includes the Microsoft Macro Assembler with complete documentation. The latter is also available at the MSDN Library but MASM itself isn’t. However, you can download a free edition for non-commercial use if you have Visual C++ Express Edition installed.
  • Windows PowerShell is a command-line shell for Windows XP and later that sits on top of CMD.EXE and utilizes the .NET Framework to provide an extremely powerful object-oriented scripting language. PowerShell scripting effectively supersedes traditional batch files as well as the somewhat obscure Windows Scripting Host technology. Moreover, the shell provides an interactive .NET execution environment, allowing you to instantiate objects and invoke methods directly from the command line.

    Additional downloads include the official PowerShellPack, which is also part of the Windows 7 Resource Kit, and the PowerShell Community Extensions. Visit Scripting with Windows PowerShell at the Microsoft Script Center for more information.

Other Developer Tools

  • The CLR Profiler is a tool that records managed memory allocation while your .NET program is running. Although this profiler does not measure execution speed, optimizing memory allocation is usually a necessity for improving the overall performance of an application.
  • The Debugging Tools for Windows may be helpful for low-level programming. The download package includes a stand-alone debugger that can be used to debug applications, services, device drivers, and even the operating system itself.
  • Steve P. Miller’s Dependency Walker is a very useful program that shows all libraries required by an executable. This utility used to come with the Platform SDK but I cannot find it in my current installation. The link provides a separate download and Miller’s FAQ on the utility.
  • FxCop analyzes your .NET assemblies and checks them “for conformance to the Microsoft .NET Framework Design Guidelines”. Thanks to oversensitive and buggy rules FxCop reports way too many spurious “defects”, even on Microsoft’s own libraries. After disabling the offending rules the tool is actually quite useful, however.
  • Very useful for Visual Studio users: Microsoft’s keybinding reference posters for Visual C++ 2008, Visual C# 2008, and Visual Basic 2008in PDF format. Note that Visual Studio defines additional keybindings that are missing from these posters, probably for space reasons.
  • Among other tasks, the Performance Profiling Tools for WPF show the visual tree of a WPF application and measure how much CPU time is spent on each visual element.
  • PowerCommands provides handy shortcuts for common operations within Visual Studio 2008.
  • Since much of the .NET Framework 1.x/2.0 libraries were actually wrappers around existing Win32 functions, Microsoft created this handy Win32 to .NET Framework API Map which shows equivalent calls in both APIs. Note that the “Foundation” APIs added to .NET 3.0 are mostly written in managed code, without any Win32 counterpart

CodePlex Projects

This section lists a few interesting projects found on Microsoft’s CodePlex website, a repository for open source software related to Microsoft products.

  • The CLR Security Team provides algorithms for encryption and random number generation.
  • CodePlex.Snippets is a snippet collection for VS2008 by the C# Team, and Visual Studio Snippet Designer lets you make your own snippets.
  • The MSBuild Extension Pack automates over 300 common tasks for MSBuild.
  • The Meta.Numerics and Math.NET Numerics libraries both provide complex numbers, linear algebra, statistical functions, and other useful tools for numerical computing.
  • The .NET Mass Downloader gets the .NET Reference Source Code to your hard disk, for use with the VS2008 debugger.
  • The P/Invoke Interop Assistent by the CLR Interop Team converts between C++ and P/Invoke signatures and comes with a database of Win32 types and functions.
  • The Sandcastle Documentation Compiler combines assembly type data with XML comments extracted from C# source code to build stand-alone help files. The current release qualifies as a “Community Technology Preview” and does not come with a GUI frontend. I recommend Eric Woodruff’s excellent Sandcastle Help File Builder which can even import NDoc control files.
  • The WPF Area by the WPF Team includes various sub-projects with samples and prerelease code, such as the WPF Toolkit with the new WPF DataGrid.

Applications & Utilities

  • Microsoft Calculator Plus is an enhanced replacement for the Windows calculator. In addition to the standard and scientific mode, Calculator Plus offers a conversion mode covering many popular and scientific units for length, are, weight, temperature and so on.
  • Consult the DLL Help Database if you’re curious about some DLL distributed by Microsoft. The database shows the library’s purpose, all recent versions, the programs that install them, and even the COM GUIDs provided by the library, if any.
  • People who use Microsoft Word for long technical documents often complain about incomprehensible formatting and numbering errors. Consult Shauna Kelly’s Word Help FAQ and the Microsoft Word MVP FAQ site to avoid this fate, and for many other tips on styles and formatting.
  • Handy for saving mouse clicks: Keyboard shortcuts for Windows Vista, Windows 7, and Internet Explorer 8.
  • Continuing a long-standing tradition, Microsoft has created an all-new set of Power Toys for Windows XP, including a revamped Tweak UI, application previewing for the task switcher, and a powerful scientific calculator with user-defined functions and graph plotting. Sadly, Microsoft does not seem inclined to produce versions for Windows Vista or later.
  • Microsoft Security Essentials is a free all-in-one package that protects unobtrusively against viruses, spyware, and all kinds of malware. Some commercial alternatives may have a better detection ratio, but MSE should serve well enough for most users who already use a hardware firewall (as they should).
  • Microsoft Virtual PC allows you to run multiple operating systems or configurations on a single Windows PC – simultaneously and without requiring a reboot. The virtual machines may be too slow to do much real work but they provide ideal testing platforms, without risking damage to your own system.
  • The Windows XP SP2 Support Tools and the Windows Server 2003 Resource Kit Tools (XP compatible) each provide a vast number of useful command-line and GUI utilities. Annoyingly, the two collections overlap but are not identical. Only the Server Resource Kit contains the popular Robocopy tool that ships with Windows Vista, for instance.
  • XML Notepad 2007 for Windows XP or later with .NET Framework 2.0 is a nifty XML text editor with a structural tree view, an XSLT output window, and schema-based validation with IntelliSense. Sadly, it lacks the extremely useful table view of XML Marker.

Miscellaneous Links

  • The .NET Framework Developer Center provides links to all the various technologies, products, and articles related to the .NET Framework. For Windows Forms and the Windows Presentation Foundation specifically, you should also check out Microsoft’s WindowsClient.net website.
  • The MSDN Forums are the best place to ask questions about Windows development. Unlike Microsoft’s earlier discussion platforms, these forums are not mirrored by Usenet groups.
  • The MSDN Online Library is the single most important resource for Windows developers: an ever-growing pile of information about any and all Microsoft products, including technical articles and partial or complete books.
  • The Microsoft Patterns & Practices website offers a large number of documents, libraries and sample code, mostly for .NET programming. Two items of particular interest are the Smart Client Architecture and Design Guide and Improving .NET Application Performance and Scalability.
  • The Microsoft Research website describes the company’s numerous research projects, sometimes including research papers and software for download. Check out the list of current projects to see what’s going on.
  • The Microsoft Typography website offers information and utilities for computer text fonts, including applications to view and edit the properties of TrueType/OpenType fonts, and an interactive tuner for the ClearType LCD font smoothing technology.

This page was last updated on 17 February 2010.
Current version available at http://www.kynosarges.de