Since the release of Windows Live Writer, I have been using it to update my blog. It allows me to update my blog offline as well as speeds up the adding of blog posts (such as this one) to my blog.
A little while ago, Windows Live Writer started crashing when I was adding hyper-links into my post. It didn’t matter if I used CTRL+K, or the menus. I wanted to check out if I had a failing plug-in installed, but going to Options would also crash Writer.
Searching on the Internet, I discovered that Windows Live Writer has issues with a corrupted Glossary. Essentially it boils down to the glossary XML file having a bad format. I still haven’t determined *how* this happened, because I’m not updating it manually, I only use Writer to update it.
Anyways, if you check out the Writer Log file (which is at c:\users\<username>\AppData\Local\Windows Live Writer\Windows Live Writer.log), you’ll notice the following:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeInitializationException: The type initializer for 'WindowsLive.Writer.HtmlEditor.Linking.GlossaryManager' threw an exception. ---> System.Xml.XmlException: The 'entry' start tag on line 3 does not match the end tag of 'glossary'. Line 76, position 3.
Essentially this will point you to the fact that your Glossary Manager is having problems. Your glossary XML file is at “c:\users\<username>\AppData\Roaming\Windows Live Writer\LinkGlossary\linkglossary.xml"
I took a different approach to fixing the problem than my source, I ended up renaming the file to linkglossary-old.xml, and then re-opening Writer. Writer will create a new file for you. I opened the new file in Notepad and noticed that it only contained a single <glossary> tag. I hit enter and added a </ glossary> tag, then copied one by one all the "<entry></entry>” blocks out of the old file into the new file. Once I found one that didn’t work, I just deleted it (since I can always re-create it if I want).