Could not write to output file 'c:\xxxx\obj\x86\Debug\yyyy.exe' -- 'The process cannot access the file because it is being used by another process

While compiling in Visual Studio 2012, I was continually getting the following error after every attempt to compile:

Could not write to output file 'c:\xxxx\obj\x86\Debug\yyyy.exe' -- 'The process cannot access the file because it is being used by another process.

For a brief moment of time this file was locked and inaccessible to the IDE. Naturally, I first checked that the Indexing Service or an antivirus app wasn't locking the file. I disabled both and yet the error still occurred after every compile attempt. Closing Visual Studio and rebooting did absolutely nothing.

In fact, I couldn't find any kind of lock on the file and could easily delete it. Subsequently, compiling would succeed, but any time I compiled again it would just lock up once more. Every post I read was indicating that some external process wasn't giving up control of this file, but my gut was telling me the lock was as a result of the compilation itself.

Using Windows Sysinternals Process Monitor I was able to record all access performed on this file.

First MSBuild.exe took a crack at this file, operating on it repeatedly. No issue there.

Sharing violation

Then Csc.exe began using it, initially with success, then later the error "FILE LOCKED WITH ONLY READERS" occurred, ultimately ending with the error "SHARING VIOLATION".

Why was the compiler locking access to the compiled .exe?

When I checked the list of references for each project in the solution, I discovered one of my projects (the one leading to the yyyy.exe that was failing to compile) had a reference to itself! Not sure how a reference to the very same project was added... maybe as a result of some refactoring while using ReSharper?

So if you come across an error about an access violation during compile and it doesn't actually appear to be due to another application (such as an antivirus) grabbing the file before compilation is complete, double-check that your project isn't accidentally referencing itself.

Windows 8 Developer Preview on VMware Workstation

Since I heard that Microsoft Windows 8 Developer Preview became available for anyone to download (and given the fact it was catered to developers!), I felt I had no reason not to download it.  I've had VMware Workstation installed for quite some time and was totally worth the price I paid for it, even if my employer didn't provide it.  I figured I'd fire it up and mount the ISO in a new 64-bit virtual machine.

What I very quickly got was a "HAL_INITIALIZATION_FAILED" error.  Is this the new style for the blue screen of death?

Your PC ran into a problem that it couldn't handle, and now it needs to restart. You can search for the error online: HAL_INITIALIZATION_FAILED
Your PC ran into a problem that it couldn't handle, and now it needs to restart. You can search for the error online: HAL_INITIALIZATION_FAILED

Perhaps not-so-coincidentally, VMware just today released version 8.0.0 build 471780, so I tried installing that on top of my older version 7.1, and it worked.  If you're getting the HAL_INITIALIZATION_FAILED error message when booting up on a virtual PC, I'd recommend updating your VMware Workstation, since this worked for me.

Windows 8 setup began in much the same way that Windows 7 installed, which makes sense since Windows 8 is built off the 7 code base.  In fact, as far as system requirements go, it's supposed to work on anything that can run Windows 7.  Obviously there'd be some functionality that may not work on older hardware, but I appreciate the prospect of not having to buy a new PC.

It comes pre-loaded with Visual Studio 11 Express, containing templates for JavaScript, Visual Basic, Visual C#, and Visual C++ out of the box, all geared toward the "Windows Metro Style," what looks like a flat theme with multicolored boxes.  You'll find this instead of a traditional Start menu.

It's also got Expression Blend 5 Developer Preview for the more visually-inclined developers and designers.  Again it has the Metro Style layouts such as "Fixed Layout Application", "Grid Application", "Navigation Application", and "Split Application".  I can't wait to get into each of those.

Windows 8 Developer Preview already looks quite polished and I'm getting anxious to start digging into the various new capabilities.  And did I mention the new Task Manager?

 

 

VMware Workstation 8 – Your On-Ramp to the Cloud

"Error 1935" while installing VC80.CRT

I got the following error while trying to install the Broadcom WIDCOMM Bluetooth driver software on my Windows 7 AMD 64-bit machine:

Error 1935.An error occurred during the installation of assembly
'policy.8.0.Microsoft.VC80.CRT,type="win32-policy",version="8.0.50727.42",publicKeyToken="1fc8b3b9a1e18e3b",processorArchitecture="amd64"'.
Please refer to Help and Support for more information.
HRESULT: 0x800736FD. assembly interface: IAssemblyCacheItem, function: Commit, component: {4F6D20F0-CCE5-1492-A01F-C8B3B9A1E18E}

I was hoping that installing the same exact version of the Visual C 2005 Redistributable would do the trick:
http://www.microsoft.com/download/en/confirmation.aspx?id=21254

But although the redistributable installed without error, I still got the same "Error 1935".  A blog post (now offline, link removed) in Spanish listed the following steps:

  1. Open Registry Editor (Windows Key-R, type "regedit.exe")
  2. Navigate to:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control
  3. Locate a key called "RegistrySizeLimit"
    If this key does not exist, go to Edit->New->QWORD (64-Bit) Value
  4. Double-click the key and set its value to the hexadecimal "FFFFFFFF" and click OK
  5. Reboot
This didn't work for me either.  Ultimately I decided to try downloading another set of drivers, this time straight from the device manufacturer, in this case IOGEAR.  My experience with drivers straight from Broadcom had been pretty good until today, plus I knew that the USB-to-Bluetooth dongle at its heart used a Broadcom radio.

 

Installation finally went flawlessly.  The drivers were version 6.3.0.7500, a slightly lower number than the set I was fighting with, version 6.3.0.8200.

 

My reward for getting all of this working?  Through the IOGEAR GBU421, my laptop is streaming music from Pandora to my Soundfreaq Sound Platform.  Friggin' sweet, and totally worth the hassle.  Skype will even mute it whenever I'm on a phone call so I'm not searching for the remote.

 

Disclaimer
Obviously your mileage may vary, but I thought I'd share everything I did in case any or all of these steps help.  Please keep in mind that the Windows Registry is for advanced users only and using it incorrectly can result in an overpriced paperweight non-functional computer.