Skip to content

Conversation

DJMalachite
Copy link

Fix Medal Download link.

potentially fix the medal installer as the installer fails with "installer is not well configured" probably because the file is never downloaded

Maybe Fixes #395

Type of change

  • New installer
  • Manifest fix
  • Other

Was This Tested Using a Local Repository?

  • Yes
  • No

Fix Medal Download link.
@Arcitec
Copy link
Contributor

Arcitec commented Jul 11, 2025

That is a dynamic URL though. https://dnschecker.org/server-headers-check.php shows that it currently redirects to Location https://cdn.medal.tv/production/candidate/electron/win32/4.2860.0/MedalSetup.exe.

Right now, most manifests check the MD5 of the downloaded installer. The medal manifest doesn't check that, so a dynamic URL could be okay. Alternatively we could directly link to a specific installer exe like the one I just mentioned, and add the hash verification, but I am not sure if that's a benefit for a service that almost nobody uses or maintains the manifest for.

Remove the useless ? at the end of the URL though. It does nothing. :)

@DJMalachite
Copy link
Author

@Arcitec

I see,
This lines up with some testing I did with rewriting the requests through a ngnix proxy.

It would download the exe but still fails.

Unfortunately it looks like there is more wrong with the installer config that I haven't had the time to study the docs to fix.

@Arcitec
Copy link
Contributor

Arcitec commented Jul 17, 2025

@DJMalachite I recommend running Bottles with flatpak run com.usebottles.bottles and looking at the terminal output when the installer fails. Then you might see what's missing. It's usually something like Visual C++ runtime or DotNet runtime.

@DJMalachite
Copy link
Author

@DJMalachite I recommend running Bottles with flatpak run com.usebottles.bottles and looking at the terminal output when the installer fails. Then you might see what's missing. It's usually something like Visual C++ runtime or DotNet runtime.

Thanks I will give that a go when I get home from work 👍

@DJMalachite
Copy link
Author

@Arcitec Ive done some testing!

First and foremost you were right Storage.medal.tv Does work, it must have been an issue on my end as the only thing i know has changed is my ISP

Now there is still a few issues
When Medal tries to install on the Soda runner it complains about being run as admin.

00:28:10 (INFO) Launching an executable… 
00:28:10 (INFO) Using EasyAntiCheat runtime 
00:28:10 (INFO) Using BattlEye runtime 
wineserver: using server-side synchronization.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
WARNING: radv is not a conformant Vulkan implementation, testing use only.
00d0:err:ole:apartment_getclassobject DllGetClassObject returned error 0x80040111 for dll L"C:\\windows\\system32\\ieframe.dll"
00:28:12 (ERROR) Error while running async job: <bound method InstallerManager.install of <bottles.backend.managers.installer.InstallerManager object at 0x7fabe559d9a0>>
        Exception: 'file'
 
  File "/app/share/bottles/bottles/backend/utils/threading.py", line 62, in __target
    result = self.task_func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/app/share/bottles/bottles/backend/managers/installer.py", line 448, in install
    "executable": executable["file"],
                  ~~~~~~~~~~^^^^^^^^
Traceback (most recent call last):
  File "/app/share/bottles/bottles/frontend/windows/installer.py", line 172, in set_status
    if result.ok:
       ^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'ok'
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  10 (X_UnmapWindow)
  Resource id in failed request:  0x6000001
  Serial number of failed request:  247
  Current serial number in output stream:  248

Changing to Sys-wine fixes that issue but then introduces another

The mscoree.dll is not found, to fix this i had to set a DLL overide for it to```native then builtin`` which let medal install.

However it can never start as it runs into a Vulkan error

info:  Memory type mask for sparse resources: 0x7ad
info:  Memory type mask for buffer resources: 0x7ad, usage: 0x19ff
info:  DXVK: Graphics pipeline libraries supported
info:  DXGI: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
0a64:err:ole:create_server class {7ab36653-1796-484b-bdfa-e74f1db7c1dc} not registered
0a64:err:ole:com_get_class_object no class object {7ab36653-1796-484b-bdfa-e74f1db7c1dc} could be created for context 0x5
0934:err:combase:RoGetActivationFactory Failed to find library for L"Windows.Devices.Input.PenDevice"
0924:err:ole:com_get_class_object class {aa509086-5ca9-4c25-8f95-589d3c07b48a} not registered
0924:err:ole:com_get_class_object class {aa509086-5ca9-4c25-8f95-589d3c07b48a} not registered
0924:err:ole:create_server class {aa509086-5ca9-4c25-8f95-589d3c07b48a} not registered
0924:err:ole:com_get_class_object no class object {aa509086-5ca9-4c25-8f95-589d3c07b48a} could be created for context 0x17
0a38:err:vulkan:X11DRV_vulkan_surface_create Failed to allocate client window for hwnd=0x20124
err:   Presenter: Failed to create Vulkan surface: VK_ERROR_OUT_OF_HOST_MEMORY
err:   Failed to create Vulkan surface, VK_ERROR_OUT_OF_HOST_MEMORY
err:   DXGI: CreateSwapChainForHwnd: Failed to create swap chain, hr -2147467259
0a60:err:winediag:ntlm_check_version ntlm_auth was not found. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
0a60:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems
0ad0:err:winediag:ntlm_check_version ntlm_auth was not found. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
0ad0:err:ntlm:ntlm_LsaApInitializePackage no NTLM support, expect problems
err:   D3D11VideoDevice::GetVideoDecoderProfileCount: Stub

At this point I think it would be better for me to close this merge request and open a issue instead.

@jntesteves
Copy link
Contributor

When I checked storage.medal.tv seemed to download an older version, while the new URL in this PR seems to download a newer version. Maybe this update could resolve some of these issues people are having. There's already an issue report about the "run as admin" error.

If someone tests this and confirms it works, I would merge this. You can just remove the question mark ? at the end of the URL. Should be just https://install.medal.tv/

@DJMalachite
Copy link
Author

@jntesteves I did notice that aswell.

Ill see if i can get a local build going and test that out.

@jntesteves
Copy link
Contributor

You don't need to build anything to test this, just set an environment variable. There are instructions following the link in the first message in this PR, in the big bold title link.

In sum, anyone can test this PR by just launching Bottles from a terminal like so:

PERSONAL_INSTALLERS=https://github.com/DJMalachite/programs/raw/DJMalachite-Medal-Patch flatpak run com.usebottles.bottles

@DJMalachite
Copy link
Author

@jntesteves Ill be honest i read up to cloning and then assumed i needed to build my own version of the app....

Anyway I have tested with the command you linked above and now Medal runs with the Soda runner without complaining about admin.

However not out fo the woods just yet
It still needed the mscoree.dll override to start the installer and I had to use the Gaming Bottle Template otherwise Medal fails to detect a GPU and crashes, not sure if this will be fixable.

and it looks like there is a SquirrelCrash when it gets to the updater stage
https://pastebin.com/xvHNSuY9

I

@Arcitec
Copy link
Contributor

Arcitec commented Jul 24, 2025

@DJMalachite I'll try to help with what I remember:

  • "Program cannot run as administrator" is sometimes a problem in Wine, because Wine runs all Windows software with the "is administrator" flag since it doesn't contain any emulation of Windows access rights. I don't think there's any fix except to switch to software that doesn't forbid running as administrator (99.9999% of software doesn't check/care).
  • The mscoree.dll is from dotNET. If it can't be found it means it wasn't installed properly. It can be a major hassle to install it on Wine. Try switching this manifest from dotnet472 to dotnet481 (the newest). Each dotNET contains all older versions internally. The newer ones may be more reliable to install. Alternatively, try switching it with mono which is an open-source reimplementation of dotNET which is totally reliable to install but it may be less compatible.
  • Try the changes in a fresh, newly made bottle, to avoid false positives by having some pre-installed stuff already.

upped the Dependencies to dotnet481 to fix the mscoree.dll was not found issue
Needs to be added to fix mscoree.dll
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Medal.tv Installation Failed: Installer is Not Well Configured
3 participants