Patch Tuesday: problems with KB2840628

Microsoft generally does a pretty good job at testing patches before they are released, making Patch Tuesday pretty effortless (except for the persistent need to reboot servers — wish they’d adopt a method like Linux where we could just restart the affected service after the update is installed).

But this month was different.  I applied the July 2013 patches first to a development system and no issues were reported.  So a few days later I pushed them out to production only to find the .Net Framework was broken; every managed procedure/trigger failed with the infamous .Net “Object reference not found” error.

It took me a while to pin down the problem.  It was caused by MS13-052 (KB2840628).  Uninstalling that patch and rebooting fixed the errors.

Microsoft mentions the problem in a related document and they mention a workaround in scenario 2.

Disabling the new typing animation in Office 2013

One of the new “features” of Office 2013 is a new animation that occurs as you type.  If you are typing quickly, the cursor seems to lag behind; that’s quite disconcerting.

The good news is that you can disable it; the bad news is that you have to edit the registry to do so.  Add the following new key to disable the animation:

HKCUSoftwareMicrosoftOffice15.0CommonGraphics
Add new DWORD: "DisableAnimations" = 1

Then you have to reboot (this is Windows, after all).  This new setting disables all animations, but honestly I don’t see much difference.

If you want to want to reverse this change, simply modify the new key and set it to zero.

New Lync 2013 notification icon

File this one under “what were they thinking?”

After applying a July 2013 security update for Lync 2013 (MS13-054), the notification area icon was changed.  It used to show your current status (available, busy, etc) but now it only shows the Lync icon itself.  You now have to hover over the icon to see your current status.

Microsoft has made some good decisions lately but this isn’t one of them.  🙂

Skydrive integration in Windows 8.1

On all of my Windows machines, I install the Skydrive desktop application and configure it to store the files on my data drive.  I have a Backgrounds folder in the Skydrive area where I save any nice wallpapers I find on the net.  I then have all of my Windows machines use that folder as the source for my desktop wallpaper slideshow.  It’s a system that works quite well; images found and saved while on my laptop automatically appear on my desktop as well.

In Windows 8.1, Skydrive is deeply integrated in the operating system so the desktop app is not needed.  However, the way it works in 8.1 appears to be a little different:

  1. By default, 8.1 installs the Skydrive folder in C:UsersUserNameSkyDrive and there does not appear to be any way to change the Skydrive storage location.
  2. I’m also not sure that all files are downloaded initially in bulk during your account setup or if they are downloaded as they are accessed.  I have a program installer stored on my Skydrive folder and it took a bit for it to start running.

In short, having Skydrive baked into Windows is a great feature but they really need to give us back the option to relocate the folder location.  People who are running Windows on an SSD may not want those files to take up the space on the SSD.

Virtualbox network problems in Windows 8.1 Preview

I have noticed a problem on my Windows 8.1 Preview desktop; my Realtek network card will not connect to the network after returning from sleep mode.  The only way to fix it is to reboot the machine.

Other people are reporting that the problem is caused by Virtualbox.  I will uninstall it when I get home and try it.  If that is the problem, I’ll switch to VMWare Player until Virtualbox gets updated.

Update: I converted my Virtualbox VM to VMWare Player (vmdk format) and uninstalled Virtualbox.  After rebooting, I put the machine to sleep and after a time woke it up.  I had no problems with the network after resuming.  So I think it’s safe to say the problem was with Virtualbox.

Installshield Limited in Visual Studio 2012 Professional

Microsoft decided to drop the ability to create simple setup installers in 2012 but they worked with Flexera to allow us to use Installshield Limited to create our installers.

Below are the step required to create a simple installer.  It should give you an idea how to create an installer for your VS 2012 program.

Notes:

  1. First, you need to make sure that all DevExpress libraries (and other custom references) in your program are set to CopyLocal — this will have the build system copy the libraries to binDebug (or binRelease) so you can include them in the InstallShield project.  Also be sure to build your app before creating the installer.
  2. Second, I’ve been creating entirely new solutions for each installer in a separate directory.  This eliminates the problems 2012 has with opening the old installer types (and may prevent future problems with bundling).  It also makes the build process much faster on the program you are creating.

Creating a new installer:

  1. Create a new InstallShield Limited Edition project for the installer (in ProjectsVB.NetInstallers)
  2. Application Information
    1. Set the default installation location if you don’t want the program to be installed in Program Files
      1. In the Application Information sidebar, click Edit the default installation location
      2. Right-click Destination Computer (or press INS key) and choose New Directory; name it C:
      3. Right-click the new C: directory (or press INS key) and choose New Directory; name it YourSubFolder (obviously change it and repeat as necessary to create your desired directory structure)
      4. Right-click new YourSubFolder directory (or press INS key) and choose New Directory; use the name of your project
    2. Specify company name: YourCompanyName
    3. Specify application name: YourAppName
    4. Specify application version: YourAppVersion
    5. Specify company website: YourWebsite
    6. Change the icon to your project’s icon (if desired)
  3. Installation Requirements
    1. App does not require specific operating system
    2. App requires .Net 4.0 Client Profile (but I do not include it in the installer — see Problems below).
  4. Application Files
    1. Click on the C:YourSubFolderYourAppName folder.
    2. Press Add Files button and go to your App’s bin/Debug (or bin/Release) folder and add all exe/dll/config files.
  5. Application Shortcuts
    1. Modify the name of the Start Menu shortcut  (if desired)
  6. Application Registry
    1. Add registry keys if your App requires them.  Use the INS key to add new keys and values (or right-click)
  7. Installation Interview
    1. Do not display License Agreement
    2. Do not prompt for Company/User name
    3. Allow modification of installation location
    4. Do not launch application when the install completes
  8. Organize Your Setup, General Information
    1. Set Use Software Identification Tag to No.
  9. Prepare for Release, Release
    1. Click on “Express” and set Setup File Name to YourAppName Setup
  1. Right-click on the Solution and choose Properties
    1. In Configuration Properties/Configuration, set your project to SingleImage.
  2. Build the project
  3. Verify the project installer name
    1. In Prepare for Release, Release, Builds/Express/SingleImage/Disk Image(s)/DISK1: check file name

Problems:

  1. I have not yet been able to include the .Net packages in the installer.  The downloads from within the Installshield project always fails.  Update: you have to run Visual Studio as Administrator (right-click, “Run as Administrator”) in order for the installer packages to download.  This should be a one-time thing; just run as admin once to download all of the redist files you need and then open your project normally (without admin) to work on your project.
  2. I had to disable Use Software Identification Tag or it would give me an error upon building.  The installer creates correctly without it and will install the project with no problems.  When I get some more time I’ll look into this further.

Uppercase menus in Visual Studio 2012

One of the changes in Visual Studio 2012 that has drawn the most complains is the forced uppercase of the menus. You can suppress that with the following registry tweak:

  1. Open the registry editor and go to the following key:
HKCUSoftwareMicrosoftVisualStudio11.0General (for 2012 Pro)
HKCUSoftwareMicrosoftVSWinExpress11.0General (for Win8 Express)
HKCUSoftwareMicrosoftWDExpress11.0General (for Desktop Express)
HKCUSoftwareMicrosoftVSWDExpress11.0General for Web Express)
  1. Create a new DWORD value called SuppressUppercaseConversion set to 1
  2. Restart Visual Studio and you should see the change

Reference: http://blogs.msdn.com/b/zainnab/archive/2012/06/14/turn-off-the-uppercase-menu-in-visual-studio-2012.aspx

Windows 8 review: the previews

Windows 8 Developers Preview (~Sep 2011): I installed this first preview on a secondary work machine and I absolutely hated it; I didn’t understand what Microsoft was trying to accomplish and everything seemed far more difficult to accomplish in Metro than it is in the standard Windows desktop.

Note: I got my first android smartphone between these two previews, so I got some experience with phone-style apps.

Windows 8 Consumer Preview (~Feb 2012):  I was curious about the direction of Windows 8 since the developers preview so I installed this new consumer preview in a virtual machine.  It was much smoother than the first preview and I understood the direction Microsoft was heading.  So I went ahead and installed this preview on a new partition on my hard drive and attempted to use it full-time.

I started to view the metro/modern system as a value-added system; I’d still use my desktop for most things but I could jump into a metro app for a break.  And oddly enough, what changed my mind about Windows 8 was my experience with apps on an android smartphone and the Pinball FX2 metro app — I had a lot of fun with that app!

One bug drove me crazy, though.  I use a slideshow of images for my desktop background and every time the background changed Windows would display a phantom taskbar icon.  Over time, the taskbar would be filled with these phantom taskbar entries.  That was quite annoying.

Windows 8 Release Preview (~Jun 2012):  The release preview was very stable and I was able to use it full-time with no issues.  The phantom taskbar problem was fixed and everything else seemed to be working as well as it was in Windows 7.

My only complaint was that Microsoft removed the Pinball FX2 app for some reason; I had to keep a copy of the Consumer Preview in a VM to play that game.  But the game was rumored to return when the final version of Windows 8 was released.

Window borders in Windows 8

You can change the width of desktop window borders by making a simple registry modification. Below is the default values; just change them to -1 (or any other value you want) and you will have thin window borders when you next logon.

[HKEY_CURRENT_USERControl PanelDesktopWindowMetrics]
"BorderWidth"="-15"
"PaddedBorderWidth"="-60"

Note: these settings appear to persist even if you change your theme. happy smiley

Windows 7: Office 2003 color fix

When running Office 2003 in Windows 7, Office tries to follow the Windows color scheme and fails miserably (IMHO). Most of the windows colors are silver but Office defaults to the ugly blue found in Luna.

You can easily fix these problems by doing the following:

  1. In the Start Menu or Superbar, right-click on the Word 2003/Excel 2003/etc icon and select Properties
  2. On the Compatibility tab, check the Disable visual themes option.

This forces Office to default to the classic look, which fits much better with Windows 7 Aero.