Shell extensions, the root of a lot of problems

In one of my computers, the simple action of creating a new folder or renaming a file was taking a lot of time. Windows Explorer seemed to freeze for a variable amount of time. Sometimes a few seconds sometimes as long a one minute!

Obviously some shell extension was the culprit, but which one? The idea of uninstalling one by one was discouraging, so I lived for a while with the problem until I found this little tool:

ShellExView

The ShellExView utility displays the details of shell extensions installed on your computer, and allows you to easily disable and enable each shell extension.

It literally save me a lot of time. You need to run this tool as an Administrator if you want to disable any shell extension.

It turns out that the shell extension that was causing the slow down was TortoiseSVN. For some reason it doesn’t seem to work well on my Windows 7 x64 computer. It does work ok on my laptop (W7 x86).

Time to update to the lastest version and review my settings.

Note: Installing TortoiseSVN’s latest version solved the problem, but I needed to run ShellExView again to enable it again.

Windows 7 x64 and Intel 82562V-2 don’t work well together

networkcard As soon as Windows 7 RTM got released I upgraded my main computer and my laptop. On my main machine I put Windows 7 x64 as I have 8 GB there. Everything worked great except the network card. I was unable to get more than a couple of hundreds of KB/s of transfer speed.

I updated the drivers to the latest version from Intel, but it made no difference. Of course this was a show-stopping problem because backups takes forever and even browsing photos from a network share is simply impossible.

I’ve finally solved the problem purchasing a 6 € Gigabit network card. It works just fine and now I’m getting around 12 MB/s again (my network is 100MB for now).

I’m sure Intel will update their drivers before Windows 7 reaches General Availability.

Housekeeping my own infrastructure

This week I’ve been doing some improvements in my business infrastructure.housekeeping Basically I’ve been upgrading to Windows 7, moving to Gmail and trying to get rid of my old general purpose server.

I’m very happy with all the changes.

First of all Windows 7 rocks! It works like a charm.

Second, my move to Gmail has been painless. Now I can handle all my email from one just place and one account. I’m no longer using Outlook, so one app less to install and configure. Besides this I can access my email from anywhere and by the way, the offline feature is working great too. This move is going to pay off in my next trip to Germany on September.

Finally I had an old P4 running Windows 2003 server. It was used as a file server, print server, FTP server, subversion server and it run a couple of VM). I setup this machine years ago and it has serve me well. But now that I have a WHS is kind of redundant. Not to mention is always on and it makes a lot of noise.

So I’ve been moving away each of its responsibilities one for one.

The file server is now my WHS. Nothing to change here except some network mappings.

I connected the printer to the WHS and install the drivers. No problems.

My code repositories are now hosted on the WHS machine. This was a little trickier but I managed to install the SVNSERVE service directly.

When I need to enable FTP connections I’ll do it on my machine. And the VM runs on my Quad-proc machine nicely when needed, especially now that I have 8 GB of RAM.

Installing unsigned drivers on Windows 7

In Windows 7 (and probably on Windows Vista too), all the drivers must be signed. If not, the OS will refuse to install them. I think this is a good feature and it probably gets rid of 90% of the stability problems of Windows.

However, today I need to install an unsigned driver. I sometimes use com0com to test the serial communications code of one of my applications. This tool allows you to create virtual COM ports that are connected. Very useful.

However, installing the new ports requires to use their own unsigned drivers, and Windows 7 doesn’t allow that. In order to bypass this limitation, you’ll need to reboot your computer and press F8 to get to the Advanced Boot Options menu. There’s a boot option at the bottom to Disable Driver Signature Enforcement. This will allow you to install the ports just fine.

w7_bootoptions

Dell M65 laptop, only 3326 MB of memory available

I’ve just upgraded my Dell M65 from 2GB of RAM to 4GB because I’m going to use some VM. As I wrote some posts ago, I’m running Windows 7 (64 bit) in this laptop, so I expected to see the whole 4GB of RAM available. However, it seems that this laptop maps some device’s memory into RAM and therefore only 3326MB of RAM are available.

I’m posting this because it can confuse some people. 3326 MB is almost the same amount of RAM (3325MB) that is available on my 4GB desktop computer which runs Vista 32bit. However, the Vista machine looses some RAM because is running a 32bit Windows and the laptop because the hardware is using some system RAM.

m65_4gb

Add a Firewall exception at install time using WiX

windows_firewall Although I’m not a heavy user of WiX, I’ve been using it for years to build my install packages. I’ve followed a couple of times the tutorial and then tweaked my source files from there.

I’m planning a new feature to one of my apps that basically will send UDP messages through the network in order to keep all the clients in sync. This of course will require a firewall exception.

I don’t want my users to configure the Windows Firewall by themselves if possible so I did a quick search and found that exists a WiX Firewall extension that does exactly what I need. It couldn’t be easier, adding just this line to my script and passing the appropriate dll to candle and light did the trick.

<FirewallException Id="FWX1" Name="Panel" Scope="localSubnet"
        xmlns="http://schemas.microsoft.com/wix/FirewallExtension" /> 

By the way, I’ve tested it with the Windows Firewall set to Off and the exception is added anyway, so if the user turns it on the exception is already there. Unfortunately it doesn’t work if the Firewall service is not started. Adding the attribute IgnoreFailure=”yes” to the previous code will avoid an error message.

Also if the user has a third-party firewall I’m pretty much in the starting row. However I hope this won’t be the setup of most of my clients.

Windows 7: Virtual XP or the key to indefinitely support legacy applications

Windows7_VPC In a recent post I commented that I was using Windows 7 and I must add that I’m liking it a lot. It feels a lot snappier than Vista even when I compare the Quad Core – 4 GB desktop machine running Vista with my Dual Core – 2GB laptop running Windows 7 RC.

I’ve only found an incompatibility with iTunes 8. I don’t know why it can’t sync my iPOD nano. I’ve tried installing the x64 version and the x32 version and both have the same problem.

Then, I remembered that Windows 7 has a new feature called Windows XP Virtual. It’s a Windows XP SP3 Virtual PC image. You can download it from here. First you need to install Virtual PC and then download the XP image. One thing to note is that this image is a Windows XP licensed.

If that is not enough, the new version of Virtual PC allows you to run any application installed on your guest operating system (XP) without opening Virtual PC. Well, it is opened by the operating system under the covers, but you just get a window running in your desktop. How cool is that?

I installed iTunes on this VM and create a shortcut on my Windows 7 desktop. It worked just fine. The only problem I’ve found is that the iPod doesn’t appear in the XP image, I have to go to the USB menu and attach it manually.

w7_itunes_onxp

I think that this could potentially allow Microsoft to get rid of the problem of ensuring backwards compatibility and therefore leverage new concepts and ideas.

How to format a drive to FAT32 in Windows when the drive is larger than 32GB

Today I needed to format an old hard drive to FAT32. I needed to connect this drive to my TV set and it only accepts FAT32 drives.

First I tried to right click the drive in Windows 7 and selected the Format option. Unfortunately it only let me choose NTFS and exFAT. Ummm, maybe exFAT is compatible with FAT32… IT IS NOT!

So I reboot to my old XP partition and tried it there. FAT32 was not there. Then I tried using the Disk management tool. No luck either, no trace of FAT32.

Switched to the command-line and typed:

format /?

And there it was. The switch /FS:FAT32 is what I was looking for. So I typed confident:

format H:/FS:FAT32

It started formatting the drive. After a while (an hour?) it end formatting and displayed the message:

Volume size too big.

What!?!?!

So I googled around and found a solution from a third-party app. I’d preferred not to install any app to just format a drive but I had already wasted enough time. Hope this post saves you some time.

The tool is called CompuApps SwissKnife v.3 (* Linked to a download site as their website seems to be offline). It enabled the full 80GB drive in FAT32

CompuApps SwissKnife V3

Enable built-in Windows power functions if you have an UPS

Assuming you have you computer plugged in a UPS, I’ve discovered that you can connect the UPS’s USB port to your computer and, without installing any third-party software, get information about the state of the batteries. Pretty much like if you were using a laptop.

Now, because Windows knows when it’s running on batteries, it can perform a controlled shutdown if the power runs out.

If for any reason the icon doesn’t appear automatically in the taskbar’s notification area, open the taskbar properties dialog and check the Power option in the Notification Area tab.

ups_icon

Installing Windows 7 RC

windows7 I’ve been using Windows 7 beta in my laptop since it came out and I couldn’t been happier with it. Windows 7 RC is available now for MSDN subscribers so I’m going to do a fresh install despite that it means I’ll have to reinstall all my software.

I decided to log how much time I spent rebuilding my laptop from no operating system to a ready-to-work system:

  • Install Windows 7 Ultimate x64 (26 minutes)
  • Activate Aero (30 seconds)
  • Join and create an initial backup in my WHS (45 minutes)
  • Install Firefox (2 minutes)
  • Install Visual Studio 2008 (12 minutes)
  • Install Visual Studio 2008 SP1 (10 minutes)
  • Install several Visual Studio Add-ins (5 minutes)
  • Install subversion / tortoiseSVN (5 minutes)
  • Install third-party development components (10 minutes)
  • Install other general utilities (10 minutes)

Total time: ~ 2 hours

Laptop specifications

Dell M65 – Core 2 Duo 2.0 Ghz, 2GB RAM, 320 GB 7200rpm

Windows 7 install experience

Just great! Quick and easy. I didn’t need to install additional drivers. The nVIDIA drivers was detected by Windows Update and downloaded in no time. I had to manually enable Aero but it was easier than expected. I just pressed the Windows key and typed activate aero. The entry Enable or disable transparent glass on Windows appeared and I just clicked on it. Fixed in seconds.

Additional notes

The initial backup took that long because I backed up another partition with Windows XP by mistake.

I only installed C# components in Visual Studio.

For your information, Windows 7 Release Candidate expires on March 2010.