Bugtraq mailing list archives

Re: Win32 File Naming (again)


From: kenn () BLUETREE IE (Kenn Humborg)
Date: Thu, 19 Aug 1999 15:37:39 +0100


The catch is that Microsoft recommend using the 8.3 name when
registering COM servers (due to a bug in CreateProcess when there
is a space in the server's directory path or file name).  So you may
not be able to register any COM servers on this partition (which may
not be a bad thing... :-)

For one thing, you'd normally stick a COM server up under %systemroot%, or
you could put it anywhere else on the file system outside of the web
server.  I'm not aware of any bug that triggers in COM with spaces (are you
sure it affects NT?)  I also just read a lot of info on COM, and it didn't
mention that.  I'm also almost certain (though I ought to doublecheck) that
CreateProcess() isn't foiled by spaces (else 'c:\program files\' would
cause mayhem).  Lastly, I do know that when the 8.3 IIS bug first hit quite
a while back, this was the recommended workaround, and I don't recall this
issue coming up.

The problem occurs when two paths are identical up to a space.
So if you have another directory 'c:\program\', then you'd be in
trouble.  Strangely, q185126 (see below) says that the conflicting
directory caneven be on another drive.!!!  (How do they screw up
_that_ badly?)

See MS KB articles:

   Q179690 FIX: Launching COM Server with Long File Name Returns 0x80080005
   Q185126 Error 429 "ActiveX Component Can't Create Object" on NT

(The 'FIX' referred to in q179690 is a workaround in the ATL source code.)

Kenn


Current thread: