Sunday, July 31, 2011

Microsoft Money Deluxe: "There has been an error reading or writing the file '.'"

I ran into the following error using Microsoft Money Deluxe (version 14.0.120.1105) while trying to view the Account Transactions report:

There has been an error reading or writing the file '.'

A quick Google search turned up KB281865 on Microsoft's site, but that only helped by confirming that this is a known issue. I was seemingly unable to get into the configuration dialog box to effect the fix, so not sure what to do.

The fix that worked for me was to view the report and wait for the error dialog saying There has been an error reading or writing the file '.'
to appear. Then, I positioned my mouse over the Customize... button and hit enter to dismiss the error dialog. Immediately after closing the dialog, I clicked the Customize... button, and the report customisation dialog popped up. After resetting the report using the Reset button, I was good to go!

Note that the Money 2005 Deluxe comes out of the box as version 14.0.120.805, so upgrading to version 14.0.120.1105 requires the installation of a QFE (aka SP1). This used to be downloaded automatically by money, but now must be downloaded directly from Microsoft here.

Sunday, July 3, 2011

Installing ReSharper 6 causes several error dialogs

I recently installed ReSharper 6 (6.0.2202.688) into Microsoft Visual Studio 2010 and was greeted with some error dialogs:

The 'RadLangSvc.Package, RadLangSvc.VS, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' package did not load correctly.
The problem may have been caused by a configuration change or by the installation of another extension. You can get more information by running the application together with the /log parameter on the command line, and then examining the file 'C:\Documents and Settings\Administrator\Application Data\Microsoft\VisualStudio\10.0\ActivityLog.xml'.

The 'Language Package' package did not load correctly.
The problem may have been caused by a configuration change or by the installation of another extension. You can get more information by running the application together with the /log parameter on the command line, and then examining the file 'C:\Documents and Settings\Administrator\Application Data\Microsoft\VisualStudio\10.0\ActivityLog.xml'.

It looks as though this is a known issue, caused by a conflict between some plugins, Visual Studio 2010, and SQL Server 2008 R2.

The solution for me was to install \WCU\DAC\DACProjectSystemSetup_enu.msi from the Visual Studio 2010 installation media.

Using the File Checksum Integrity Verifier (fciv.exe) to ensure file integrity

The File Checksum Integrity Verifier (fciv.exe) can be used to calculate and verify that file contents have not changed.


Calculating Hashes

The following PowerShell command line will calculate the hashes for the current folder and all subfolders, saving the results into ..\Hashes.xml.

fciv -add (resolve-path .) -bp (resolve-path .) -r -xml ..\Hashes.xml -sha1

Verifying Hashes

The purpose of calculating a hash is to compare it at a later date to see whether the file has changed or not.


Use the following command to list all the hashes in the databases.

fciv.exe -list -xml ..\Hashes.xml -sha1

This command will verify the file content.

fciv.exe -v . -r -xml ..\Hashes.xml -sha1

Saturday, July 2, 2011

NLog logging levels

NLog logging uses the following levels:

  • Trace: 0
  • Debug: 1
  • Info: 2
  • Warn: 3
  • Error: 4
  • Fatal: 5
  • Off: 6

Friday, July 1, 2011

TFS/MSBuild error with null character in compiler output

I ran into the following error on the TFS build server, which is building a MicroFocus Cobol.NET program:

MSBUILD : error MSB4015: The build stopped unexpectedly because the "WorkflowCentralLogger" logger failed unexpectedly during shutdown. System.ArgumentException: '.', hexadecimal value 0x00, is an invalid character. at System.Xml.XmlConvert.VerifyCharData(String data, ExceptionType invCharExceptionType, ExceptionType invSurrogateExceptionType) at System.Xml.XmlCharCheckingWriter.WriteString(String text) at System.Xml.XmlWriter.WriteAttributeString(String localName, String value) at Microsoft.TeamFoundation.Build.Client.InformationField.ToXml(XmlWriter writer, String element) at Microsoft.TeamFoundation.Build.Client.Helper.ToXml(XmlWriter writer, String element, InformationField[] array) at Microsoft.TeamFoundation.Build.Client.InformationAddRequest.ToXml(XmlWriter writer, String element) at Microsoft.TeamFoundation.Build.Client.Helper.ToXml(XmlWriter writer, String element, InformationChangeRequest[] array) at Microsoft.TeamFoundation.Build.Client.BuildWebService.UpdateBuildInformation(InformationChangeRequest[] changes)

Based on the stack trace, it looks like there was a problem converting the build output to XML, so it was just a matter of finding the culprit. A quick search through the build output using PowerShell located the offending \0 character (which it is not possible to represent in XML), so I loaded the build log into NotePad++ to confirm:

NUL char in NotePad++

Hopefully this will help anyone else who may run into this issue in TFS.