Monday, December 29, 2008

Manually installing Live Writer plugins on Vista

Frank La Vigne's Technorati plugin for Live Writer is simple and effective. Written in Sept. 2006, it does not have a full MSI installer but rather consists of a DLL which you must manually copy to the Live Writer plugins folder. Attempting to do so on Vista may result in an error depending on whether you have UAC enabled.

Remembering that Vista has hardened various aspects of the OS I went looking for the workaround that I had read about. Of course, Mark Russinovich's article Inside Windows Vista User Account Control has all the gory details one could want.

The bottom line is you should, instead, copy the DLL to %USERPROFILE%\AppData\Local\VirtualStore\Program Files (x86)\Windows Live\Writer\Plugins.

Typically on a default installation of Vista %USERPROFILE% will resolve to C:\Users\{your-user-name}. Vista uses \VirtualStore folder under there to store files when "older" programs attempt to write into their own installation folder. This was a common practice which made some sense - programs would keep all their information together where they were installed. It was also easier for lazy programmers because they could write dead simple code to store things like settings and preferences. It would take more work to be polished and store these things in individual computer users' private folders not to mention the extra coding to remove all these different locations when uninstalling. The virtual store is Vista's way of accommodating this behavior - it can lock down program installation folders (preventing write access) so malware can't alter them and inject trojan files while still allowing "older" programs to function.

On the machine I'm currently using there are three folders under \VirtualStore -- \Program Files (x86), \ProgramData and \Windows. In \Program Files (x86) there already is a \Windows Live folder that contains a \Messenger folder - presumably Windows Live Messenger is one of those "older" programs still writing things into it's installation folder.  I simply recreated the necessary paths for Live Writer (\Writer\Plugins) under the existing \Windows Live folder there and then copied the DLL to it. Done.

No comments:

Post a Comment