I work for the tech support department of a software company. We have
recently encountered a fairly rare error among a select group of users
who, during the installation of our trial software, receive a message
indicating-
Something to the effect of "The OLE systems files are in use..." and
whether our customer clicks "yes" or "no", the system still reboots.
After rebooting the software installation starts from the beginning and
our users will encounter the same problem again. This has been
perplexing to say the least. What are the best ways to diagnose OLE
system file usage? I am concluding that whichever file we are supposed
to make use of is corrupt or locked because a restart doesn't resolve
the situation. Any advice or questions in this manner would be greatly
appreciated. Thank you.
Tal
There's a little program called UnlockIT that may be of some use - it
claims to be able to tell you which process has locked a specified
file, although I've had limited success with it.
Could be M$ Office/faststart in the startup using the required files,
try disabling it (and any other applications). Failing that.... ummm,
maybe something to do with .net framework, maybe reinstalling that
would help?
mscomctl.ocx
atl.dll
mfc42.dll
msvcrt.dll
We've created an installer that allows them to ignore files that are in
use, but we would much rather find out exactly what is causing this so
as to fix the problem instead. I will definitely look at UnlockIT,
especially if it will allow me to unlock what I think is the primary
suspect, the mscomctl.ocx file. Thanks for your advice and I'll be
glad to look into those possibilities. Thanks again.
Hmmm, those filenames - mscomctl.ocx has ActiveX written all over it;
atl.dll, mfc42.dll & msvcrt.dll I'm pretty sure are something to do
with Visual C++ and/or Visual Basic runtime libraries, so the question
becomes - what's hogging these files at startup. Could be a virus, your
antivirus/antispyware, some anti-ActiveX thing they've cooked up to
protect users with internet access, some auto-login program, anything
like that. Will it work in safe mode or with an msconfig > diagnostic
startup?
Unless I'm mistaken these files don't install with Windows by default,
only when the VB or C++ runtimes are installed... more than likely long
since done & forgotten about on the deveopment machines & quite
possibly not done on users machines? Or could be installed but not
quite right, maybe something "regsvr32 mscomctl.ocx" etc could help
with. Yeah I know it said "in use", not "missing", but still worth
checking out, wouldn't be the first time I've seen a misleading VB/C++
error message.
These may be of interest:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_other/html/dtlrfImageComboControlVisualBasic6.asp
http://www.codeguru.com/Cpp/COM-Tech/atl/atl/article.php/c3587/
I think you hit it on the head with trying to find out what processes
could be using a particular file. I tested the installer on my machine
and it indicated three of the same four that were in use on our
customer's system. The one standout was the mscomctl file. I'd really
like to have something (preferrably a small utility easily sent to
customers) that showed me exactly which processes were using a
particular file. I'm also very curious as to just how many files
compose the MS Common Dialog setup as well as how to check the
integrity of the Common Dialog files.
Joshua
Are you absolutely certain the affected systems have VB/C++ runtimes
installed? (Not present on a fresh Windows install.) Check this out
too:
www.ascentive.com/support/new/support_dll.phtml?dllname=MSCOMCTL.OCX
The more I google, the more I feel sure this is where the solution is
to be found. If the user downloads & runs libraryfiles.exe from the
above link (& reboot), it should fix it with a bit of luck, shouldn't
be too difficult to automate this within the installer in a future
update too.
I suspect the atl.dll error, although very similar, is an unrelated
issue caused by the installer itself (Demoshield, right?) also missing
a file. Should be an easy fix, check these out:
http://msdn.microsoft.com/visualc/downloads/updates/atl/default.aspx
http://www.dll-files.com/dllindex/dll-files.shtml?atl
Can't see how you'll be able to fix this one within the installer
though, the user will have to do it themselves.
Let me know how it goes...
Joshua
You might also want to look into whether there are any
copyright/licensing issues involved with including the files directly
in your installer as opposed to just advising your customers to
download & run a fix from a third party.
Googling all three files together reveals references to quite a few
others, all seem to be included in Ascentive's libraryfiles.exe though,
looks like it might be the path of least resistance...