Prieš kažkiek laiko pradėjo durniuoti mano Windows Live Writer. Kuo tai pasireiškė? O pasireiškė tuo, kad bandant pažymėtą tekstą paversti URL nuoroda ar pataisyti jau esančią, programa nustoja veikti ir sistema bando ją uždaryti. Bėda nebūtų bėda, jei nesugestų dar kas nors. Bjauriausia, kad writer’is lygiai taip pat lūžta, kai pabandai per įrankių meniu patekti į programos nustatymus. Vienas ir kitas gedimas yra pakankamai erzinantys, nes bet koks teksto, į kurį reikia patalpinti kažkiek nuorodų, rašymas tampa labai nepatogiu, o iš kitos pusės – programa tapo praktiškai nelabai valdoma. Programos išdiegimas ir įdiegimas iš naujo nė velnio nepadėjo. Aišku, kad jei viską išdiegus lauk ir dar preciziškai ištrynus visus failus ir registro įrašus, kurie yra susiję su Windows Live Writer, o po to vėl iš naujo įdiegus, yra tikimybė, kad viskas vėl gerai veiks. Tačiau po tokios operacijos vėl reikės iš naujo programą suderinti ir įdiegti visus naudotus papildinius. Kitas kelias – vis tik išsiaiškinti kas atsitiko ir pabandyti sutvarkyti.
Vistos sisteminių žurnalų įrašai praktiškai jokios naudingos informacijos nepateikė, tik konstatavo faktą, kad su programa kažkas negerai. Tikėtina, kad pats redaktorius turi savo žurnalą, kurį gan greitai aptikau tarp savo lokalaus profilio aplikacijų duomenų. Tai – failas Windows Live Writer.log. Kad neskaityti visos istorijos nuo Adomo ir Ievos, paprasčiausiai jį išvaliau, o po to pakartojau visus savo veiksmus, kurie iššaukdavo programos darbo nutraukimą. Kaip ir tikėjausi, žurnale atsirado būtent tie įrašai, kurie mane ir domino:
An unexpected error has occurred within the application.
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.ArgumentException: Missing text parameter
at WindowsLive.Writer.HtmlEditor.Linking.GlossaryManager.GlossaryLinkItemFromXml(XmlNode node)
at WindowsLive.Writer.HtmlEditor.Linking.GlossaryManager..ctor()
at WindowsLive.Writer.HtmlEditor.Linking.GlossaryManager..cctor()
— End of inner exception stack trace —
at WindowsLive.Writer.HtmlEditor.Linking.GlossaryListView.LoadData()
at WindowsLive.Writer.HtmlEditor.Linking.GlossaryListView..ctor(IContainer container, Int32 width)
at WindowsLive.Writer.HtmlEditor.Linking.GlossaryManagementControl.InitializeComponent()
at WindowsLive.Writer.HtmlEditor.Linking.GlossaryManagementControl..ctor()
at WindowsLive.Writer.HtmlEditor.Linking.GlossaryPreferencesPanel.InitializeComponent()
at WindowsLive.Writer.HtmlEditor.Linking.GlossaryPreferencesPanel..ctor()
— End of inner exception stack trace —
Iš čia matosi, kad programa turi kažkokių bėdų su automatinio susiejimo sąrašu ( Linking Glossary List). Paieška internete tik patvirtino mano prielaidas, tad beliko išsiaiškinti kas per bėdos ir ar galima jas sutvarkyti. Taigi, besiaiškinant paaiškėjo, kad programa pastoviai visais mano aprašytais atvejais kreipiasi į failą linkglossary.xml. Tai yra failas, kuriame saugoma visa informaciją kaip URL nuorodos yra susietos su tekstu. Taigi, ji atsidaręs ir panagrinėjęs pamačiau vieną neatitikimą. Normalus failo įrašo blokas turi atrodyti taip:
<entry>
<text>MariukasM virtual home</text>
<url>http://mariukasm.spaces.live.com/</url>
<title>
</title>
<rel>
</rel>
<openInNewWindow>True</openInNewWindow>
</entry>
tačiau sekantis blokas atrodė kiek kitaip:
<entry>
<text>
</text>
<url>http://mariukasm.spaces.live.com</url>
<title>
</title>
<rel>
</rel>
<openInNewWindow>True</openInNewWindow>
</entry>
Matome, kad prasčiausiai teksto srityje trūksta pavadinimo. Tai galėjo atsitikti, kai į įrašo tekstą įterpinėji nuorodas, o atsidariusiame lange įrašai URL adresą, o apačioje praleidi tekstą, tačiau automatinio susiejimo su tekstu opcija lieka pažymėta. Kaip ten bebūtų, bet pašalinus tokį įrašą iš failo, Windows LIve Writer vėl pradėjo normaliai veikti. Kuo aš likau labai patenkintas, nes ši programa tikrai man patinka.
Taip va štai toks Windows Live Writer bug’as. o aš tikiuosi, kad ir jums šis įrašas bus kažkuo naudingas, Tad sekmės bloginant 🙂 !
Atgalinis pranešimas: Blogorama #535 : nežinau.lt