Closed Bug 25028 Opened 25 years ago Closed 25 years ago

"XPCOM.DLL linked to missing export KERNEL32.DLL:GetFileAttributesExA"

Categories

(SeaMonkey :: Build Config, defect, P3)

x86
Windows 95
defect

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: 3jrgm, Assigned: dougt)

References

()

Details

This one is FYI. I think I can work around this problem, but for the broadly distributed releases, it means that you may need to upgrade kernel32.dll if required (for time-warp installed base machines). (Note: I looked to see if this is either reported, or if kernel32 comes with the win installer, but could find neither). Sometimes after jan 21 builds, I began to get this message ... Error Starting Program The XPCOM.DLL file is linked to missing export KERNEL32.DLL:GetFileAttributesExA ... and of course, mozilla will not run. I have GetFileAttributesA and GetFileAttributesW in my version of kernel32, but (obviously) not the '..Ex' entry points. I suppose I need a newer kernel32 to support this extended version of GetFileAttribute*. (Although, I'm puzzled as it appears that GetFileAttributesEx was in the source before jan 21, and I could always run, even though I can't locate a dll on my system that provides this entry point -- ??). This machine is a Windows 95 4.00.950 B, pretty much as installed by IBM April 1997. [I blew up my hard drive a while ago, and grabbed this spare hard drive -- which hadn't been touched in a couple of years. Which is why I am living in a bit of a time warp. Hey -- this disk/OS has never even seen a copy of IE 4.0 :-] ]. kernel32 version (from Properties): 4.00.1111 C:\WINDOWS\SYSTEM>dir kernel32.dll KERNEL32 DLL 414,208 08-24-96 11:11a KERNEL32.DLL
So, I see that GetFileAttributesEx requires either win98 or NT4.0 or later (ref: http://msdn.microsoft.com/library/psdk/winbase/filesio_2854.htm). I also see that mozilla/xpcom/io/nsLocalFileWin.cpp, which became part of the build with the nsIFile landing, depends on having GetFileAttributesEx (to get to file times and size). I took a shot at bumping up kernel32.dll to the win98 level (4.10.1998), but, not surprisingly, sparks flew and smoke curled out of my PC. :-] So, it looks (at least to me) that mozilla is DOA on "antique" win95B. [The only thing I'm puzzled by (at this point) is why this bug has not been reported by anyone else.]
Severity: normal → blocker
ccing jan leger. accepting bug. jan who tests on 95?
Status: NEW → ASSIGNED
Target Milestone: M14
working on a fix now. 3jrgm@qlink.queensu.ca, do rebuild the source or do you just try the builds?
I've just been trying the builds (e.g; 2000-01-25-09-M14/mozilla-win32.zip). [Note above that, by chance, I am running a win95 disk that missed most of '98 and '99 sitting on a shelf :] So, it's a machine that somebody out there has, but possibly there is some upgrade from MS that provides GetFileAttributesEx on win95 (but I don't know)].
so, what I did was wrapped the function so that on window 95 it does one thing, and on window 98 and NT, it calls throught to the Ex function. I will get a code review and check it in today. you should see it in tomorrows builds.
reassigning to dougt.
Assignee: granrose → dougt
Status: ASSIGNED → NEW
Status: NEW → ASSIGNED
dougt: Thanks! (uh, but I do have one, likely naive, question in looking at the patch -- if the behaviour of the wrapper, MyGetFileAttributesEx, is #ifdef WIN95, then that implies that the same binary cannot be used on both win95 and win98 (and winNT). Or am I misreading something here).
DUh! that is right. I need to do a load lib of the dll, and see if there is a Ex function in it.....
fix has been checked in. thanks.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
*** Bug 25289 has been marked as a duplicate of this bug. ***
*** Bug 25342 has been marked as a duplicate of this bug. ***
Verified on win95 (the affected platform) 2000020108 and earlier builds.
Status: RESOLVED → VERIFIED
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.