2009-01-03
I noticed yesterday that Windows Movie Maker (WMM) still cannot start, after
a few months of such behavior, but now it got to be annoying because I wanted
to use the app to edit some home movies (the holidays being what they are). I
actually was hoping that the automatic Microsoft updates would correct the
problem but, alas, they may have been the cause.
The exact problem was that launching WMM always brought up a tiny dialog
(with the Vista error sound) simply displaying a short bit of text:
"Unspecified error." How informative! Closing the dialog by clicking the OK
button brought nothing further. WMM blatantly refused to open. Luckily, this
did not disturb anything else running at that time nor did it leave any new
process using up CPU cycles or memory space.
This WMM refusal to even initiate was very puzzling because up until a few
months ago WMM started and worked just fine on my Dell Inspiron 1720 Intel
Core 2 Duo T7300 2 GB RAM laptop running Vista Home Premium with continuous
automatic updating since purchase in September 2007. No major re-installs or
registry changes since the beginning either. Nothing obvious or suspicious.
After a bit of googling and reading, I realized there were several
possibilities so the smart approach was to start with the simple proposed
solutions and work my way up the complexity scale, much like checking if
there's fuel in the tank before dismantling an engine. But none of the simple
solutions, like renaming the possibly corrupt collection file (C:\Users\<user
name>\AppData\Local\Microsoft\Movie Maker\MEDIATAB1.DAT) in order to generate
a new one at launch, or starting WMM in safe mode (in the command prompt
window, under C:\Program Files\Movie Maker, type moviemk /safemode) then
adjusting compatibility settings in Movie Maker, changed anything. I still
got the unspecified error and nothing more. Then, before embarking on a
fishing expedition in the sea of video codecs (see
http://www.papajohn.org/MM2-Issues-A...nd-Codecs.html) I came upon
a google result way down the list that proposed removing the read-only
attribute of the user's temp folder (see the August 2008 thread at
http://forums.lenovo.com/lnv/board/m...thread.id=2570),
an incredibly small change that seemed horribly unrelated to WMM. I'm an old
hand at DOS commands so I didn't mind trying attrib -r temp in the command
prompt window and, dog gone, it worked! Movie Maker was alive and well again.
Just to confirm that I got to the root of the problem, I tried the reverse,
i.e. I re-set the read-only attribute to the temp folder (attrib +r temp) and
the problem re-appeared, behaving just as before. Staggering - a simple
read-only attribute switch of the user temp folder can enable or disable
Windows Movie Maker in Vista! Talk about a weird quirk, but pretty typical of
some deeply embedded bug in a bloated collection of apps. Problem solved,
yes, but this raises a few questions and begs putting down a few key
observations.
Observation 1
The attribute must be changed via the command prompt window because Windows
Explorer in Vista does not allow attribute changes of the folder file per se.
If you open the C:\Users\<user name>\AppData\Local folder in Windows Explorer
(where <user name> is the name of the user profile under which you logged
unto Vista), then right-click on the Temp sub-folder, then click on
Properties, then click on the General tab (if not already there), you would
think that clearing the Read-only box in the Attributes section then clicking
the Apply button would remove the folder's attribute. But note the phrase in
parantheses to the right of the Read-only box: Only applies to files in
folder. Clicking the Apply button only brings up another dialog asking if you
want the change to this folder only or all sub-folders. Clicking OK will
remove the read-only attribute from each and every file in the Temp folder,
then each and every file in all sub-folders (so the operation can take a few
minutes if hundreds or thousands of files are present) but it will NOT remove
the attribute from the Temp folder file itself (nor, I suspect, from any
sub-folder files).
Observation 2
This little quirk of the Temp folder's read-only attribute disabling WMM is
perfectly consistent with observations made by users in various forums and
blogs. If you change the location of the Temp folder for the given user, WMM
works again - of course, because the newly created folder is not given the
read-only attribute. If you create a new user profile (which creates its own
Temp folder without the read-only attribute) and launch WMM once logged on as
that user, the app starts.
Question 1
Why would the user temp folder suddenly acquire a read-only attribute? This
seems counter-intuitive because this folder acts as a cache and should be
read-write at all times. Fortunately, the read-only status of the folder file
itself doesn't seem to affect the read-write status of all the files in this
folder (and any sub-folders) and thus all apps behave normally except for
one, Windows Movie Maker. It seems that somewhere in this app's present code,
a line checks the status of the user temp folder but no exception handling is
provided if a read-only attribute is detected - Vista takes over, provides a
generic error message and sound, and prevents the WMM process to load into
memory.
Question 2
A reverse possibility: did the user temp folder always have the read-only
attribute since the Vista installation while a later update to some WMM files
or libraries brought in this new vulnerability? This is the more likely
scenario. I looked into the WMM installation folder (C:\Program Files\Movie
Maker) and noticed that MOVIEMK.exe is dated November 2nd, 2006, like a few
other files, and the tooltip bubble (or the Details tab in the Properties
dialog) further indicated the version is 6.0.6000.16386, while several other
files are dated January 19th, 2008, with version 6.0.6001.18000, including
MOVIEMK.dll. There obviously was an automatic update of some files at some
point after Jan. 19 '08... And WMM was quietly disabled, until yesterday.