Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Outlook on supermium XP does not work #720

Closed
Rackhamlejaune opened this issue Jul 4, 2024 · 32 comments
Closed

Outlook on supermium XP does not work #720

Rackhamlejaune opened this issue Jul 4, 2024 · 32 comments
Labels
Critical bug A bug that does break the browser, as in causing crashes or making it impossible to perform a task

Comments

@Rackhamlejaune
Copy link

I have supermium 122_32 on XP SP
When I open outlook, the inbox opens normally, but when I try to open an email, nothing happens.
Same in the messages sent.
It is also impossible to create a new message: nothing happens when you click on the button.

@Rackhamlejaune Rackhamlejaune added the Critical bug A bug that does break the browser, as in causing crashes or making it impossible to perform a task label Jul 4, 2024
@Rackhamlejaune
Copy link
Author

on XP SP3

@Rackhamlejaune
Copy link
Author

On XP SP3

@win32ss
Copy link
Owner

win32ss commented Jul 4, 2024

This is the result of a GDI bug. I am working on the replacement, DirectWrite. It's almost done, but still has some smaller issues of its own.

@Rackhamlejaune
Copy link
Author

Thank you for your work of perpetual improvement of Supermium which is a real marvel for us who wish to keep our old machines..

When you'll have resolved the problem, would you be kind enough to tell us the name of the patch or release to download?

There is a certain urgency because Microsoft is now explicitly threatening to no longer allow Outlook.com to work (even in its "light" version) on other browsers on XP (Firefox 52, Mypal, Yantex among others)...

Thankfully,

@zdland
Copy link

zdland commented Jul 12, 2024

#656

@Rackhamlejaune
Copy link
Author

The links to topic 656, and within that to topic 160, are very interesting. But their technicality far exceeds my ability to understand...

And that does not answer my question which is to know, if you find a solution, how we must go about incorporating this solution into our current version of supermium on XP (122.0. 6261.152).

@win32ss
Copy link
Owner

win32ss commented Jul 19, 2024

This should be fixed by the new DirectWrite package, which should also work even with Supermium version 122:
#696 (comment)

@Rackhamlejaune
Copy link
Author

Unfortunately, this doesn't work. When I add Dwritecore, Supermium refuses to start. If I only add D3dcompiler, Supermium starts but the bug in Outlook is not fixed (even by setting the ignore gpu blocklist flag to enabled).

@jonm58
Copy link

jonm58 commented Jul 27, 2024

Unfortunately, this doesn't work. When I add Dwritecore, Supermium refuses to start. If I only add D3dcompiler, Supermium starts but the bug in Outlook is not fixed (even by setting the ignore gpu blocklist flag to enabled).

do you install Microsoft Visual C++ 2015-2019 runtime?

@Rackhamlejaune
Copy link
Author

Thanks for your answer.
I am out of home till 15 augustus.
I'LL verifiy that when I return home

@zdland
Copy link

zdland commented Jul 29, 2024

This does fix the outlook bug, however it introduces some new bug (see pictures)
111
.
222
Some characters are rendered overlapped, typically in the tip window of browser tabs, and some times on web page.
I'm using Server 2003 SP3 (x86) 124 build with the new DirectWrite package and all default settings (no command line or flag changes)

@zdland
Copy link

zdland commented Aug 13, 2024

This does fix the outlook bug, however it introduces some new bug (see pictures) 111 . 222 Some characters are rendered overlapped, typically in the tip window of browser tabs, and some times on web page. I'm using Server 2003 SP3 (x86) 124 build with the new DirectWrite package and all default settings (no command line or flag changes)

This happens if the rendered text is in certain Chinese fonts (simsun say) and is bold (enclosed in ) and the problem is only with ASCII (non-Chinese) characters.

@win32ss
Copy link
Owner

win32ss commented Aug 16, 2024

I installed Simplified Chinese Windows XP and was able to reproduce this issue on a few web pages also using SimSun. I made a quick patch to the DLL that fixes it:
DWrite.zip

I'll have to investigate it further. So far I know that some value in a struct is equal to 2, which is not good in terms of the DWrite metrics function, throwing a lot of Rust exceptions (Rust is being used in DWriteCore).

@Rackhamlejaune
Copy link
Author

Sorry but when I put this Dwrite.dll , Supermium does not open (Win XP 32 SP3, Supermium Version 122.0.6261.152).
I suppose that it must be placed in the folder of Supermium ?
I have Microsoft Visual C++ 2015, version 14.0.24215
I tried to find version 16.7 (the last for XP), but I didn't succeed... (I took a subscription but never receive the key pour download)

@zdland
Copy link

zdland commented Aug 19, 2024

I installed Simplified Chinese Windows XP and was able to reproduce this issue on a few web pages also using SimSun. I made a quick patch to the DLL that fixes it: DWrite.zip

I'll have to investigate it further. So far I know that some value in a struct is equal to 2, which is not good in terms of the DWrite metrics function, throwing a lot of Rust exceptions (Rust is being used in DWriteCore).

The problem is fixed with this new dll. Thank you!

@zdland
Copy link

zdland commented Aug 19, 2024

Sorry but when I put this Dwrite.dll , Supermium does not open (Win XP 32 SP3, Supermium Version 122.0.6261.152). I suppose that it must be placed in the folder of Supermium ? I have Microsoft Visual C++ 2015, version 14.0.24215 I tried to find version 16.7 (the last for XP), but I didn't succeed... (I took a subscription but never receive the key pour download)

Can you explain exactly what happens (including any error messages or debug log output) when "Supermium does not open"? Have you installed other binaries as in #696 ?
I only have Visual C++ runtime 2005, 2008 and 2010 installed and it works so I don't think 2015 or 2019 is necessary.

@Vangelis66
Copy link

@Rackhamlejaune

As pointed out already by zdland 👍 , your starting point should be this discussion comment, which was already referenced in this thread previously 😉 ; you probably need the first archive, dwritecore_xp_32.zip, which contains five (5) DLLs; place them adjacent to chrome.exe, like below:

DW-122

I have Microsoft Visual C++ 2015, version 14.0.24215
I tried to find version 16.7 (the last for XP), but I didn't succeed...

MSVC++2015 should suffice; in any case, you only need the MSVC++2015-2019 x86 redistributable, NOT the full blown Visual Studio... FWIW, here is a link to the XP SP3 EoL one, i.e.

https://download.visualstudio.microsoft.com/download/pr/566435ac-4e1c-434b-b93f-aecc71e8cffc/0D59EC7FDBF05DE813736BF875CEA5C894FFF4769F60E32E87BD48406BBF0A3A/VC_redist.x86.exe

Download and install, then reboot the machine; v14.28.29213.0 will have overwritten your previous v14.0.24215.0 installation, this is normal as full backwards compatibility with ALL previous v14.* is kept; you risk 0 chance of breakage with apps using the v14 runtime...

Regards.

@AroKol78
Copy link

https://download.visualstudio.microsoft.com/download/pr/566435ac-4e1c-434b-b93f-aecc71e8cffc/0D59EC7FDBF05DE813736BF875CEA5C894FFF4769F60E32E87BD48406BBF0A3A/VC_redist.x86.exe
Download and install, then reboot the machine; v14.28.29213.0

Download - ok
Install - problem

Burn v3.10.4.4718, Windows v5.1 (Build 2600: Service Pack 3), path: [...]\VC_redist.x86.exe
Error 0x80040154: Failed to load manifest as XML document.
Error 0x80040154: Failed to load manifest.
Error 0x80040154: Failed to initialize core.

@Vangelis66
Copy link

Install - problem

... There's another XP SP3 x86 user in the original discussion thread who already reported success with this:

@JoachimHenze wrote 3 days ago

installed "Microsoft Visual C++ 14.28.29213.0 - last version compatible with Windows XP" from @Vangelis66
https://download.visualstudio.microsoft.com/download/pr/566435ac-4e1c-434b-b93f-aecc71e8cffc/0D59EC7FDBF05DE813736BF875CEA5C894FFF4769F60E32E87BD48406BBF0A3A/VC_redist.x86.exe

so there must be something particular to your setup (???) ... BTW, what is Burn v3.10.4.4718 ?

In any case, you also can try your luck with the custom/modded installer by abbodi1406 shared by trickly here or consult my post here; using Dependency Walker on your XP system you can determine the extra dependencies needed by the win32ss 5 (or 6) DLLs; then you could copy those DLLs from, e.g., New Moon 28 browser by Roytam1 and place them besides DWrite.dll (itself besides Supermium's chrome.exe) ...

@AroKol78
Copy link

so there must be something particular to your setup

standard SP3, with a few MSXML4 updates - I needed them, and a few separate KB.
maybe some services disabled or enabled.

what is Burn v3.10.4.4718 ?

I have no idea

... then you could copy those DLLs from ...

I did so :)

I updated a long time ago, as far as I remember, 14.24.28127 was the last one that could be installed, anyway this one is installed.

@TiberiumFusion
Copy link

TiberiumFusion commented Aug 20, 2024

Some helpful info.

I only have Visual C++ runtime 2005, 2008 and 2010 installed and it works so I don't think 2015 or 2019 is necessary.

No. To be clear: If you want to run applications built with the VS 2015-2022 toolset, you must have the 2015-2022 redistributable installed. MSVC 2005 redist only enables running applications built with the VS 2005 toolset. MSVC 2008 redist only enables running applications built with the VS 2008 toolset. Et cetera. There is no magical forward compatibility between the 2005, 2008, & 2010 runtimes and applications built against the completely different 2019 platform.

I'm not sure if this has already been mentioned, but you can refer to abbodi's vcredist AIO repository for links to the last release of each vcredist to run on your operation system.
https://github.com/abbodi1406/vcredist/blob/master/source_links/README.md
According to that, the last v14x MSVC runtime to support "XP" is 14.28.29213.0 of the v142 platform (2019). It's not clear if "XP" here means NT 5.1 or XP x64 on 5.2.

Edit: Note that chromium does not require MSVC and this DWriteCore doesn't seem to need it either.

what is Burn v3.10.4.4718 ?

The vcredist installers are WiX burn applications, which coordinate a product installation that spans multiple MSIs and/or imperative installers. This is irrelevant to the MSVC redist files themself - WiX is used by everything and Microsoft uses WiX for many of its products, small and large, from the MSVC redists to Office. When you run the bootstrapper application that ties a burn bundle together, it extracts the necessary burn executable and files to temp and runs them. Hence, some log events and traces originate from the burn application, not the installer bundle bootstrapper that you as the user invoke.

@Vangelis66
Copy link

I'm not sure if this has already been mentioned, but you can refer to abbodi's vcredist AIO repository for links to the last release of each vcredist to run on your operation system.
abbodi1406/vcredist@master/source_links/README.md

According to that, the last v14x MSVC runtime to support "XP" is 14.28.29213.0 of the v142 platform (2019). It's not clear if "XP" here means NT 5.1 or XP x64 on 5.2

... Yes, I did explicitly mentioned that here 😉 ; problem is one XP SP3 user reported success at installing that, yet another one reported failure - go figure (???) ...

BTW, many thanks for your insight on "burn" bundles 👍 ...

@zdland
Copy link

zdland commented Aug 21, 2024

No. To be clear: If you want to run applications built with the VS 2015-2022 toolset, you must have the 2015-2022 redistributable installed. MSVC 2005 redist only enables running applications built with the VS 2005 toolset. MSVC 2008 redist only enables running applications built with the VS 2008 toolset. Et cetera. There is no magical forward compatibility between the 2005, 2008, & 2010 runtimes and applications built against the completely different 2019 platform.

But I don't have 2015 or 2019 installed and Supermium works for me without a problem.

@TiberiumFusion
Copy link

But I don't have 2015 or 2019 installed and Supermium works for me without a problem.

Yes. That is because chromium is not built with MSVC and thus doesn't require any of those redists.

I did not look closely enough at this thread. I saw the discussion about installing the 2015+ redist to get the DWriteCore files to work, and I thought your comment meant "I don't need the newer redist because it runs fine using the old redist", so I wanted to dispel that misconception. Please excuse me. You had it correct. You shouldn't need any MSVC redist to run chromium.

However, a quick offline look at the DWriteCore files in this thread shows zero imports to an MSVC runtime. It uses API sets instead. Why was the recommendation made to install the MSVC redists for these DWriteCore files? They don't seem to need it at all.

@Vangelis66
Copy link

However, a quick offline look at the DWriteCore files in this thread shows zero imports to a MSVC runtime. It uses API sets instead.
Why was the recommendation made to install the MSVC redists for these DWriteCore files? They don't seem to need it at all.

... Yes, that was the exact same result my investigation produced here, also read my added comment here2 😉 :

However, MS did never issue Win10 UCRT for NT<6.0, so one has to specify that the dependency on MSVC++2015-2019 is limited to NT 5.x (with the EoS version there being v14.28.29213.0 😜 ) ...

File VC_redist.x86.exe of v14.28.29213.0 is the last one that is dual-signed (i.e. both SHA1 - XP compatible - and SHA2 file signatures) and that also contains dual-signed payload, i.e. DLLs; for this specific use case (DWrite.dll under XP SP3), what's really needed is the bundled, dual-signed, "Win10 uCRT" DLLs, to be found inside the vcRuntimeMinimum_x86 directory, once the main .EXE has been extracted with specialised tool; these DLLs are of version 10.0.10586.15, signed on 2020-08-13

TL;DR: MSVC++2015-2019 is being used as a "vehicle" for Win10 uCRT" DLLs for the sake of just WinXPSP3; fully updated VistaSP2/7SP1/8/8.1 DON'T need it!

@Vangelis66

This comment was marked as resolved.

@win32ss
Copy link
Owner

win32ss commented Aug 22, 2024

But I don't have 2015 or 2019 installed and Supermium works for me without a problem.

Yes. That is because chromium is not built with MSVC and thus doesn't require any of those redists.

I did not look closely enough at this thread. I saw the discussion about installing the 2015+ redist to get the DWriteCore files to work, and I thought your comment meant "I don't need the newer redist because it runs fine using the old redist", so I wanted to dispel that misconception. Please excuse me. You had it correct. You shouldn't need any MSVC redist to run chromium.

However, a quick offline look at the DWriteCore files in this thread shows zero imports to an MSVC runtime. It uses API sets instead. Why was the recommendation made to install the MSVC redists for these DWriteCore files? They don't seem to need it at all.

Chromium does use the VC++ runtime, but it is statically linked into the binaries so the user does not need to install it.

As for DWriteCore, the API sets are bundled with the VC++ redists so I made the recommendation for that reason. They are also not "real" API sets that depend on an OS-provided API set schema DLL (Windows 7 and up), but stub DLLs that forward to other DLLs. Some of them forward to kernel32, but others forward to ucrtbase. I would've supplied my own custom API sets that would've forwarded to the OS-supplied msvcrt.dll, but I think a couple of functions were missing from msvcrt, which is why that was not done at the time. Considering that many users would've already installed the runtime or equivalent, I decided to release it ahead of 126.

@TiberiumFusion
Copy link

What is it with the "eyes" ( 👀 ) reaction on ALL of my comments here? I think I was very clear/precise on what I wrote, so I honestly fail to understand your "confusion"... FWIW, I'm just a volunteer here, I could do with less harrassment, thank you very much...

In my experience, eyes means "look at this, this comment is important". That's how I use it. Your comment is useful and should be read by viewers of this thread (because it clarifies things). Usually, it's the confused and laughing faces that people use to antagonize.

Chromium does use the VC++ runtime, but it is statically linked into the binaries so the user does not need to install it.

This explains some things. Chromium only loads msvcrt, so it must also be statically linked with ucrtbase to avoid installing KB2999226. That's interesting.

@Vangelis66

This comment was marked as off-topic.

@Vangelis66
Copy link

As for DWriteCore, the API sets are bundled with the VC++ redists, so I made the recommendation for that reason.

... As I have detailed elsewhere in this issue tracker (and Repo Discussions), these API sets (DLLs I/MS called Win10uCRT: Windows 10 Universal C Runtime) should be already present systemwide in a fully updated VistaSP2/7SP1/8.0/8.1 OS; the "recommendation" should be then applicable to just XP SP3 x86 (XP SP2 x64) and server counterparts; in these cases, app authors usually supply these DLLs alongside their own binaries, e.g. this happens with Mozilla Firefox 52esr and roytam1's XP-targeting browsers; but here's the irony:

Considering that many users would've already installed the runtime

however there's a "trend" among the majority of the NT 5.x communities of abstaining/being heavily reluctant on installing these MSVC++20xx runtimes (and this stands true even for .NET F/Ws), for fear of their systems becoming afterwards "gluttons for RAM" ! So the very people (the XP-die-hards) this "recommendation" targets are more likely than not (against your "consideration" that is) to NOT "have already installed the runtime" or, worse even, not be willing to install it after all...

I have been following (via machine translation) the Supermium thread over at forum.ru-board.com (where XP is still popular) and several XP users would simply go without DirectWrite rather than install MSVC++2015-2019 on their systems; even your "corrected_api_sets" was mentioned, is that still relevant BTW?

Thanks for your ongoing efforts ❤️ ...

@Rackhamlejaune
Copy link
Author

To answer the question of Zdland (last week) of describing the symptom, in my case when I try to open Supermium with the dwrite.dll that I had; it's simple : nothing happened and Supermium did not open.

Thank you for all these exchanges and explanations.

I understood that it was not necessary to adapt Visual C++ (good news).

I scrupulously downloaded the d3dcompiler-47 and the dwritecore-xp-32 that you mentioned and I placed their contents in the Supermium folder.

When I wanted to open Supermium afterwards, a message appeared saying that "the application could not be opened because an "api" was not found" (but Supermium still opens afterwards).

I went to take the "api" in question in the Mypal folder and I did the same, one by one, for all the following ones that the program requested.

That continued until it asked for "api-ms-win-core-interlocked-l1-1-0.dll". Once that one was placed, Supermium would not open anymore.

So I removed it and put back all the others, coming from my version of Mypal.

In this configuration, after the message that "api-ms-win-core-interlocked-l1-1-0.dll" is not found, Supermium opens normally and works perfectly for all sites, … except Outlook!

Because here, the situation remains identical to what I described in the first post of this discussion, namely "When I open outlook, the inbox opens normally, but when I try to open an email, nothing happens. Same in the messages sent. It is also impossible to create a new message: nothing happens when you click on the button".

And I add that it is also impossible to disconnect. The only way to close the box is to delete the browsing data in the parameters.

In short, the bug described is still unresolved…

@Rackhamlejaune
Copy link
Author

Well, the problem was solved by going to version 124.0.6367.245!
I still had to replace all the APIs myself in the supermium folder (and I still do not know why the program said that he could not start because they were "not found")
But this time, everything works perfectly, including outlook!
I therefore consider the problem as solved.
And I would like to add that I have immense recognition for you all the altruists who agree to give their time by their advice or by their work to improve this real gift that is supermium.
Thank you for your patience to respond to Boeotians like me who do not understand much to this whole technique.
And thank you for allowing the nostalgic of XP to survive in the middle of the mad race of sites that want to encourage us to evolve by force.

@win32ss win32ss closed this as completed Oct 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Critical bug A bug that does break the browser, as in causing crashes or making it impossible to perform a task
Projects
None yet
Development

No branches or pull requests

8 participants
@TiberiumFusion @Vangelis66 @AroKol78 @jonm58 @win32ss @zdland @Rackhamlejaune and others