Jump to content

Adobe Flash, Shockwave, and Oracle Java on XP (Part 2)


Dave-H

Recommended Posts

Oh dear, it does sound like perhaps Update 241 may be the last that works properly on XP.
I will roll back to that and if that works I think we have to assume that is the case.
:(

Link to comment
Share on other sites


OK, I've found the problem, it seems to be just one file causing it!
The file is "sunmscapi.dll" which is in the \bin folder.
If you replace just that file with the version from Update 241, it all comes good!
What is actually wrong with the file I'm not sure, according to CFF Explorer it's still superficially XP compatible, but perhaps someone with more knowledge about this sort of thing could analyse it more deeply and tell us!
Cheers, Dave.
:)

Link to comment
Share on other sites

1 hour ago, Dave-H said:

OK, I've found the problem, it seems to be just one file causing it!
The file is "sunmscapi.dll" which is in the \bin folder.
If you replace just that file with the version from Update 241, it all comes good!
What is actually wrong with the file I'm not sure, according to CFF Explorer it's still superficially XP compatible, but perhaps someone with more knowledge about this sort of thing could analyse it more deeply and tell us!
Cheers, Dave.
:)

The difference between 241 and 251's sunmscapi.dlls is that the latter relies on ncrypt.dll, which doesn't exist in NT 5.x. One-Core-API has a wrapper for it.

Edited by win32
Link to comment
Share on other sites

Thank you, so a creeping incompatibility with XP is obviously now being gradually slipped in!
I can only assume that more and more files in the new Java installations will start to have this sort of problem as time goes on, until it will get to the point where you'll have to replace so many files for it to work that you might as well just stick with the previous version anyway!
:(

Link to comment
Share on other sites

2 hours ago, Dave-H said:

OK, I've found the problem, it seems to be just one file causing it!
The file is "sunmscapi.dll" which is in the \bin folder.
If you replace just that file with the version from Update 241, it all comes good!

What version does the java test site say you have when using the 241 "sunmscapi.dll"?

Link to comment
Share on other sites

I finally had time to look at this as well and I can confirm that it doesn't work on my computer either and I know why.

2 hours ago, win32 said:

sunmscapi.dlls relies on ncrypt.dll, which doesn't exist in NT 5.x. One-Core-API has a wrapper for it.

Precisely.

We did backport ncrypt.dll but it also relies on a series of dlls, two of which don't exist in XP either: NTEXT.DLL and BCRYPT.DLL. Although bcrypt.dll has been backported as well, there's no current implementation of NTEXT and the following APIs in our modified version of XP:

RtlDeleteResource
RtlInitializeResource
NtClose
RtlInitializeSRWLock
RtlReleaseSRWLockExclusive
RtlAcquireSRWLockExclusive
RtlFreeSid
RtlAllocateHeap
RtlSizeHeap
NtOpenKey
RtlNtStatusToDosError
NtQueryValueKey
RtlCompareUnicodeString
NtQueryInformationProcess
NtOpenFile
NtDeviceIoControlFile
RtlImageNtHeader
RtlReleaseResource
RtlAcquireResourceExclusive
RtlAcquireResourceShared
LdrDisableThreadCalloutsForDll
RtlAllocateAndInitializeSid
RtlInitUnicodeString
RtlFreeUnicodeString
RtlAnsiStringToUnicodeString
RtlInitAnsiString
RtlFreeAnsiString
RtlUnicodeStringToAnsiString
RtlFreeHeap
RtlReleaseRelativeName
NtCreateFile
RtlDosPathNameToRelativeNtPathName_U
RtlAbsoluteToSelfRelativeSD
RtlGetControlSecurityDescriptor
RtlNtStatusToDosErrorNoTeb
NtOpenProcess
RtlInitializeCriticalSection
RtlDeleteCriticalSection
RtlLeaveCriticalSection
RtlEnterCriticalSection
RtlAppendUnicodeToString
 

And... sure, you could just replace that DLL (sunmscapi.dll) and use an older one to make Java work:

oa5SEQp.png

However the future doesn't look bright 'cause this time we've been lucky and it was a trivial component, next time we might not be as lucky... :(

(I'm tagging you just for an heads up: @Dibya, @neverseen, @Skulltrail)

Shall we try to report it to Oracle and pray that they'll revert to the former implementation of sunmscapi?

EDIT: I reported it to Oracle

Name of the Applet or Application: 

Java 8 Update 251

 

Provide clear and detailed description of the problem you are experiencing, including error messages:

As we rolled out the new update to our Windows Embedded POSReady 2009 tills we noticed that sunmscapi.dll was changed and is now calling ncrypt.dll which represents a problem as those APIs don't exist in our Embedded version of Windows. After we rolled out the update, we replaced sunmscapi.dll with the former one. This way, we managed to get Java 8 Update 251 work. It's a shame to break Embedded products compatibility just for a silly call to the APIs like this one. You can see that it works on this test machine running Windows Embedded POSReady 2009 x86 in Virtual Machine: (screenshot).

 

Your Operating System:

Windows Embedded POSReady 2009 x86

 

Java Software Version:

8 Update 251

 

Which Java version(s) did this work with before this issue?

8 Update 241


Thank you for taking the time to write. We will reply as soon as possible, Oracle.

Edited by FranceBB
Link to comment
Share on other sites

8 minutes ago, Dave-H said:

Just as a matter of interest, is that file security critical?
:dubbio:

Well... SunMSCAPI it's part of security.cpp in src/windows/native/sun/security/ and these APIs are used by desktop applications for things like to access smartcard certificates for TLS connections and other stuff, so I can't tell you that it's safe to ignore the update, however I don't have enough knowledge of Java to tell you that it's critical either.

Edited by FranceBB
Link to comment
Share on other sites

OK, well I don't think I'll be losing any sleep about using one out of date file!

One other thing I've noticed, which probably isn't related but you never know, is that when you do the Java test page, it puts up a warning for you to accept or cancel, and there is an option to not show it again. I never bother to tick that, but it's now acting as if I have, and after the first time the warning never appears again unless and until I do the "Restore Security Prompts" option on the security tab of the Java control panel. Not a problem of course, but strange! I don't know where the setting to not show the prompt again is stored, and I haven't been able to find out. Anyone know?
:dubbio:

Edited by Dave-H
Typo
Link to comment
Share on other sites

Just tested in Internet Explorer 11 on Windows 10 :ph34r: and the behaviour is exactly the same!
I guess this has been changed, and the warning now only appears once even if you don't check the "do not show again" option.
:dubbio:

Link to comment
Share on other sites

I decided to take the plunge... and work it does!  :worship:

On 5/5/2020 at 4:31 PM, dencorso said:

What version does the java test site say you have when using the 241 "sunmscapi.dll"?

On 5/5/2020 at 4:33 PM, Dave-H said:

It says I'm using 251, and am up to date!

On 5/5/2020 at 6:10 PM, Dave-H said:

Just as a matter of interest, is that file security critical?

On 5/5/2020 at 7:50 PM, Dave-H said:

OK, well I don't think I'll be losing any sleep about using one out of date file!

Yeah, that's my take on it, too. :yes:
And, anyway, it's not the 1st file from the java bin folder at least some of us have been replacing for sometime, already... it just happens to be the 1st one that's really mandatory, in fact. My own current replacements list is the following:

Quote

jre1.8.0_102  v.8.0.1020.14     152,640 06-22-2016    fxplugins.dll
jre1.8.0_102  v.8.0.1020.14     115,264 06-22-2016    jfxmedia.dll
jre1.8.0_102  v.8.0.1020.14  33,944,128 06-22-2016  jfxwebkit.dll
jre1.8.0_201  v. 11.201.2.9      93,048 05-27-2019      jp2launcher.exe
jre1.8.0_241  v. 8.0.2410.7      27,712 01-16-2020     sunmscapi.dll

@Dave-H: Thanks a lot, once more! :thumbup

 

 

Link to comment
Share on other sites

  • 2 months later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...