Wednesday, June 3, 2009

Windows 7 General Availability

People have been dropping hints for a long time that Windows 7 will be available sooner than everyone expects. Now it’s official. Windows 7 will be generally available in stores from October 22nd 2009. RTM will happen late July. Windows Server 2008 R2 will also RTM in this timeframe; the first joint client/server release since Windows 2000.

The Engineering Windows 7 blog has some great content about new and updated features in Windows 7 including themes, parental controls, HomeGroup, media streaming, autoplay and support for solid state drives. (Plus many more features that I haven’t listed here.)

I think you’ll be impressed by the new artwork in Windows 7 that really brings your desktop to life. The themes for this artwork are light, energy, inspiration and optimism. Here’s my favorite, courtesy of Red Nose Studio.


Friday, May 1, 2009

Windows 7 Release Candidate

If you’re staying indoors to avoid the swine flue outbreak, why not fill in some time by downloading and installing your very own copy of the Windows 7 Release Candidate. There’s a new server build out too in case you need to virtualize your DHCP servers … sweet.

The Windows 7 RC build will be made available to the public from May 5th at:

The Windows Server 2008 R2 RC build will be made available at the same time:

Thursday, March 19, 2009

Internet Explorer 8

Internet Explorer 8 ships today. If you’re using a pre-release version or still using version 7, you can now get Internet Explorer 8 RTM from If you want a preview of the new features to see if IE8 is right for you, just take a look at these videos.

Thursday, March 5, 2009

Windows Vista SP2 RC

Release candidates are now available for Windows Vista SP2 and Windows Server 2008 SP2. You can access the RCs from TechNet or MSDN if you have a subscription and wish to plan a deployment. Otherwise, the RTM versions will soon be generally available. You can read more here.

Wednesday, March 4, 2009

How to Remote Debug with Visual Studio 2008

It's pretty easy to setup Remote Debugging with Visual Studio 2008 but there are several steps involved. To begin with, this article makes the following assumptions:

  • You already have Visual Studio 2008 Pro or better installed on your Dev machine
  • Your Dev and Test machines are running Windows Vista, Windows Server 2008 or later
  • Your Dev and Test machines are on the same subnet
  • Your Dev and Test machines are on the same domain or trusted domains

Strictly speaking, remote debugging doesn't require your machines to be on the same domain or even subnet. However, bi-directional socket connectivity is required between the two machines. These alternate scenarios are not covered.

Development Machine Setup

The first step is to configure the Windows firewall on your development machine. Thankfully, Visual Studio has a wizard for this:

  • Run the following from the Start Menu
    Start > Visual Studio 2008 > Visual Studio Tools > Visual Studio 2008 Remote Debugger Configuration Wizard
  • Step through the wizard
  • Uncheck the option to Run the Remote Debugger as a service
  • Select Allow only computers on the subnet to connect to the remote debugger
  • Click Finish

The next step is to share the Remote Debugger binaries so you can access them from your Test machine:

  • Open Windows Explorer and browse to directory
    C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE
  • Open the properties dialog for the Remote Debugger directory
  • Use the sharing tab to give yourself Read access to the share

The final step is to share your project binaries and symbols so you can run them directly from the Test machine. In many cases, your binary and symbol files are located in the same directory so you don't need a separate symbol share.

  • Open Windows Explorer and browse to your project bin directory
  • Open the properties dialog for you bin directory
  • Use the sharing tab to give yourself Read (+Write) access to the share
    (Add Write access if your application needs to write to the directory)
  • (Optional) Repeat these steps for your symbols directory

Test Machine Setup

The first step is to logon to your Test machine using the same account that you use on your Dev machine. You can use a different account but you will need to grant access to the shares on your Dev machine.

Once you've logged on, you need to update your symbol path. This is only required if you created the symbol share on your development machine.

  • Open the properties page for your computer
    Start > Right Click Computer > Properties
  • Click advanced system settings
  • Click environment variables
  • Under user variables, click  New
  • Create the following variable:

Next you need to configure the firewall to allow Visual Studio to connect inbound to the remote debugger monitor. The first time you run the remote debugger monitor and a connection is attempted, you will be given the option to automatically configure the firewall. However, if this doesn't happen, you can always run the following commands using an elevated console.

netsh advfirewall firewall add rule name="MSVSMON - UDP" dir=in action=allow enable=yes localport=any protocol=udp profile=domain remoteip=localsubnet program=”\\your-dev-pc\Remote Debugger\cpu-type\msvsmon.exe”

netsh advfirewall firewall add rule name="MSVSMON - TCP" dir=in action=allow enable=yes localport=any protocol=tcp profile=domain remoteip=localsubnet program=”\\your-dev-pc\Remote Debugger\cpu-type\msvsmon.exe”

The final step is to run the remote debugger monitor. When you run MSVSMON, you will see a message indicating that a new server called 'your-domain\your-username@your-test-pc' is waiting for new connections.

Remote Debugging

Now you are setup, all you have to do is run your application from the bin share on the Dev machine and use Visual Studio on your Dev machine to attach to the remote server.

Here's how to run your application on the Test machine and attach the debugger on your Dev machine:

  • Open Windows Explorer on your Test machine
  • Browse to and run the remote debugger monitor
    \\your-dev-pc\Remote Debugger\cpu-type\msvsmon.exe
  • Browse to and run your application
  • Start Visual Studio 2008 on your Dev machine
  • Open your target solution file
  • Open the Debug menu and choose the Attach to Process menu item
  • Set the Transport to Default
  • Enter the Qualifier
  • Click the refresh button
  • Select your remote process from the list
  • Click Attach

If everything is working, you should see the remote debugger loading symbols from the bin or symbol share on your Dev machine. However, you can also configure Visual Studio to automatically start your project on the remote machine. The following steps assume you have a .NET project.

  • Open the project properties page
  • Click the Debug tab
  • Under Start Action, select Start external program
  • Set the program path
  • Add your command line arguments
  • Set the working directory
  • Check Use remote machine
  • Set the remote machine
  • Save

Now when you press F5 to debug, the application will automatically run on your remote Test Machine and you don't have to attach.

Saturday, February 28, 2009

Windows Phones

Microsoft CEO Steve Ballmer during a press conference during a Mobile World Congress in Barcelona. Photo: MicrosoftSo it’s official, later this year you’ll be able to buy a Windows Phone. Steve Ballmer released details at the Mobile World Congress earlier this month. HTC and LG are both making phones that run Windows Mobile 6.5, which has a more touch friendly interface and includes a vastly improved web browser.

There will also be an online phone app store and phone services that allow you to securely manage your phone content on the web. The phone service is a major step forwards and means that when you get a new phone, you don’t have to mess around with migrating your contacts. It also opens the possibility that Live ID contacts (or even Facebook friends) can automatically update their contact and presence information.

My only question is, will HTC release a Windows Mobile 6.5 ROM Upgrade for the HYTNII? If not, I’ll be up for a new phone.

Visual Studio Gallery

The MSDN team recently launched a new web site called the Visual Studio Gallery, which is basically a portal to help you find products and extensions related to Visual Studio. Most of the posted products are commercial third party but others have been developed on CodePlex and similar open source portals. I did a quick search and found information of NDepend, Resharper and GhostDoc. However, .NET Reflector was surprisingly absent so perhaps the folks at Red Gate Software are a little slow off the mark. I was also pleasantly surprised to see that Mindscape has published their cool WPF Property Grid on the gallery.

It’s also interesting to observe that Lutz Roeder is no longer working on Reflector and has sold the rights to the source. Perhaps he no longer has bandwidth within the Expression Blend team to work on this must-have .NET tool. However, it’s more likely that Red Gate made an offer he couldn’t refuse. Reflector appears to still be available as a free download but this may change some time in the future.