Windows 7: All My Fonts Are Italic!

Last week, I uninstalled some software on my Windows machine, a Dell “reader” app. I reboot. Right away I notice something is wrong, all my fonts that were usually just normal Times New Roman or Arial were italic. WTF?

I figured that removing the app somehow also removed or reset my default font’s on the machine. I had someone export out some reg settings and I added them back to mine and things returned back to normal. Attached is the reg file. YMMV. I’m not responsible for your machine getting hosed, or anything related to this fix. Backup your registry, yada yada. win7fontfix

Some apps are just downright destructive when uninstalling. I think back to DLL hell and some of the wacky things that could happen there. System DLL’s removed when uninstalling an app. Just horrible. It seems even with Microsoft’s latest OS, things can still get jacked by a bad app install/uninstall.

I could have also probably went back to a snapshot, but figured I would give it the 10 minute try to fix it approach first. Seems to have worked.

Why don’t I see Windows 7 SP1 in Windows Update? Could be Video Drivers!

This weekend was Daylight Savings Time.. Spring Ahead. You are supposed to set all your clocks ahead 1 hour if your area observes DST. With that, you are also supposed to change your batteries in your smoke alarms, or that is at least what “they” tell you to do. Probably another good thing to do is run patches on all your systems!

I updated around 4-5 Windows 7 Machines at home, couple desktops, few VM’s, and it was fine. My work laptop (a Del Latitude E6410) I couldn’t see the update in Windows Update. I figured maybe it would get pushed later from WSUS or whatever, but also had a hunch something else was up, and I was right.

If you look here (Microsoft KB) there is a nugget about

 

Check whether you have Intel integrated graphics driver Igdkmd32.sys or Igdkmd64.sys and whether you upgraded the driver

Windows 7 SP1 will not appear in Windows Update if update 2454826 is not installed. Windows Update will not offer you update KB2454826 if you are using one of the following Intel integrated graphics drivers:

  • Igdkmd32.sys (32-bit), versions 8.15.10.2104 through 8.15.10.2141
  • Igdkmd64.sys (64-bit), versions 8.15.10.2104 through 8.15.10.2141

These drivers are known to cause problems with certain applications that use D2D (Direct2D). For example, if you use these drivers together with Windows Live Mail under certain circumstances, Windows Live Mail could crash. 
To check for the Intel integrated graphics driver and driver version, follow these steps:

  1. Start DirectX Diagnostic Tool. To do this, click Start

    Start button

    , type dxdiag in the Search programs and files box, and then press Enter. 

  2. Click the Display tab.
  3. Note the driver and driver version.
  4. If you have the Intel integrated graphics driver and driver version 8.15.10.2104 through 8.15.10.214, visit the computer manufacturer’s website to see whether a newer driver is available.

 

Well, that is what I saw on my laptop. So I updated the drivers, and rebooted, re-ran Windows Update, and boom! Windows 7 SP1 showed up. Nice.

Note: not sure this is the right link, but here is what I installed: Dell drivers and downloads

Windows 7 Winforms ActiveX DEP and TFS

Wow, what a title. Deserving for the debacle it involves. If you are using an older ActiveX/COM component that doesn’t support DEP (Data Execution Prevention) – you might run into this.

Your app will compile file, and when users try to run it, it runs fine, yet when you use the control you get an error about shared and corrupt memory. The ActiveX control might not support DEP and you don’t have any way to go around it. You can have the users turn off DEP but that isn’t a viable solution.

What you can do is set a post-build step to turn off DEP for your exe which works great.

here is the post build step from the link:

call $(DevEnvDir)..toolsvsvars32.bat
editbin.exe /NXCOMPAT:NO $(TargetPath)

But then you go to check it into TFS and your build fails. Why? Because there is no environment variable for $(DevEnvDir) when team build (msbuild) builds your solution.

In order to fix that, you need to add an environment variable on the build controller to

64bit: C:Program Files (x86)Microsoft Visual Studio 10.0Common7IDE  

32bit: C:Program FilesMicrosoft Visual Studio 10.0Common7IDE

and then reboot your build controller, and it should build.

VMWare Converter Windows 7 P2V and Lost Ethernet Connections

Wow, so tonight, I took a laptop that was having some screen issues. It was a Dell Inspiron, and the screen would go black randomly (not completely, you could baaarely see the screen). Tested power settings, etc, etc. Only thing I can think of is a short somewhere. You close the lid, open it, and it works. Well since that is a pain, I decided to take VMWare’s free converter (http://www.vmware.com/products/converter/) and do a Physical to Virtual (P2V) image, and then run it on a beefy dev box I have with 8 GB’s of RAM.

Started the P2V after registering and installing the converter, everything was going good. I noticed that the converter said it didn’t support Windows 7, but ok, I gave it a go. As it was converting (I wrote the VM image out to a USB drive), the screen went black, so I had to do about 50% of the conversion barely being able to see the screen, but it worked.

After the P2V conversion, I took the USB drive with the image, hooked it up to my beefy machine and copied the image over. Fired up VM Workstation 6.5 and started up the VM. Worked. Noticed though that the OS was set to “other” and the VMware tools wouldn’t install. Powered down the VM. Changed to “Windows Vista” since VM Workstation 6.5 doesn’t support Windows 7 either. Started it up again. Cool, installed the VMware Tools. Changed resolution. Everything cool… except… no network! Both ethernet devices (lan and Wifi) were showing up as no drivers. WTF?!?

Downloaded drivers from Dell, installed, wouldn’t find them yet even after installing. Thought maybe I needed VMWorksation 7.1, so upgraded and still nothing. Uninstalled devices, changed numerous settings, still nothing. Plugged in a USB wifi, and that worked, but that was just a test.

Digging around mutliple forums and what not, found some things about editing the .vmx file with notepad and adding the line

ethernet0.virtualDev = “e1000”

So I tried that, and it worked! From what I can gather, since the converter doesn’t support Windows 7, it sets the OS to other, and then doesn’t grab the Ethernet settings correctly. Changing from other to Windows7 (in VM Workstation 7.1) you can install the VMWare tools. Adding that line to your .vmx file (and ethernet1 if you have multiple adapters) should do the trick.

Windows 7 – ASP.NET Temporary Internet Files, Assembly Redirects

Just updated my work laptop to Windows 7. Sweet right? Except now the fun of getting everything to work.

First issue I ran into, a Web App in development, not being able to load up “Microsoft.AnalysisServices.AdomdClient” because it was looking for version “9.0.242.0” – the version you get with Office 2007, SQL 2005. But I have 2010 running and SQL 2008 stuff on this new build, so saw that issue. Of course I could install the stuff from SQL 2005, the drivers, but also I can redirect my assembly in the Web.config





I was also getting some weird stuff about permission denied to any third party assembly when trying to debug/run it locally. Since the web app is impersonating a user, I figured I need to give that user rights to the temporary internet files for ASP.NET, which worked, but in Win7 (and Vista?) the path is different, it is

%LocalAppData%TempTemporary ASP.NET Files

I gave the user modify and my app finally builds!

Hopefully not too many more roadblocks going forward..

Using Windows Performance Toolkit to find System Issues in Vista/Win2k8/Win7

Windows 7 RC1 just came out. I am a TechNet subscriber, so I wanted to try it out. I have an old (2005) Dell desktop, 2.8 GHz, 2 GB ram, 160 GB drive box. 3.7 rating for Vista (because of the Graphics card mostly, would be 4.4 otherwise – not too bad, even for being kind of an old box). It has been sitting in the basement since I moved into my new place in October, doing nothing really. I use Mac full time at home, so it just sits.

A few times I have tried to get Windows Vista running smooth on it, Media Center, or just a file server,etc. Thing is, it was just flaking out. I knew it was a hardware issue, but figured it might be the CPU fan, or overheating, etc. Vista installed fine, but as I was using it, I would see just hang-ups, lockups. Not BSOD’s, but it would just hang, for 30 seconds, 1 minute, and then come back. WTF?

Nothing in the Reliability monitor, nothing I could see in event logs, etc. I rebooted, did Windows Memory test, nothing there. If you go into Computer Management, you will see Performance, then Data Collector Sets and Reports, Monitoring Tools. You can set it up to run a test on metrics of your system and it will give you a report

image

I did this, and everything was ok. BUT… Avg Disk Length Queue was > 2 – red flag. Disk issues. But I wanted to know more. So I started digging around, and there is a Windows Performance Toolkit you can download. Here is another good site going into detail about the WPT.

So I fire up cmd line (as admin! – start->run, cmd ctrl+shift+enter), and run

xperf -providers K

to see what providers are available for the Kernel flags. IOTrace looks like something I want, so I then run

xperf -on IOTrace

and let it run. I go and open/close things, play around, see if I can replicate the issue. Once I feel I have, I want to stop and analyze the trace. You need to stop it and output to a file using this command:

xperf -d iotrace.etl

Side note: Files are named ETL. Coming from a BI background, this makes my world explode, since it has nothing to do with Extract, Transform, and Load

Now that my trace is done, time to analyze:

xperfview iotrace.etl

And you get some awesome stats like this:
image

Although I didn’t save my stats from my tests that showed the bad IO, what I saw were just gaps in the graphs, glitches in The Matrix. Time missing. Something is really bad here. So I did the drive error checking in Vista:

image

And when that ran, after reboot, it got to 11% and croaked. Bad drive. So I went and bought a new 500 GB SATA drive and loaded it up, and I am running Windows 7 now. Pretty sweet.

After all this fun spelunking into Windows performance, it also got me thinking about things, like running these detailed traces on SQL Server boxes or other servers on intervals, and saving them somehow, reporting on the data. The IOTrace is just one of hundreds of traces, that you can then auto analyze. I know that there are perfmon tools but there are some added benefits to xperf that you can you utilize, and I am glad I learned more about it and put it to use, just another tool for the sysadmin tool belt.