Winetricks: need wmp9 to install on 64 bits Wine prefix

Created on 23 Aug 2018  路  27Comments  路  Source: Winetricks/winetricks

Hello,
it is necessary to install devenum and wmp9 with Winetricks for Darksiders game play their cinematics.
I tested on a 32 Wine prefix and it works.
But in a 64 bits prefix, only devenum can be installed with Winetricks.
Proton (SteamPlay) uses a 64 bits wine prefix for Darksiders (and perhaps all games).
To play Darksiders with Proton, I need to install wmp9 on his 64 bits Wine prefix.
Why Winetricks refused to install wmp9 in a 64 bits prefix?
Is there a workaround?
Thank you for your help.

download patch win64

Most helpful comment

Sorry for not submitting a PR or something, but I don't know anything about git, and it's quick & dirty anyway.

$ sha256sum winetricks
316f940a2a50e24c2ac44080cce8b8d9fb6a75bd8b9e09708d44beac894b4c4a  winetricks
$ diff -u winetricks winetricks-custom
--- winetricks  2020-02-08 12:33:16.053305995 +0100
+++ winetricks-custom   2020-02-08 19:56:48.468458158 +0100
@@ -16046,7 +16046,7 @@
     # https://appdb.winehq.org/appview.php?versionId=1449

     # This version of Windows Media Player can be installed only on Windows 98 Second Edition, Windows Millennium Edition, Windows 2000, Windows XP(32-bit), and Windows .NET Server(32-bit).
-    w_package_unsupported_win64
+#    w_package_unsupported_win64

     w_call wsh57

@@ -16067,8 +16067,11 @@
     w_override_app_dlls MPSetup.exe native pidgen

     w_try_cd "$W_CACHE"/"$W_PACKAGE"
-    w_try "$WINE" MPSetup.exe $W_UNATTENDED_SLASH_Q

+    w_try cabextract -d "$W_TMP" ./MPSetup.exe
+    w_try_cd "$W_TMP"
+    w_try sed -i 's/IsWow64Process/IsNow64Process/' setup_wm.exe
+    "$WINE" setup_wm.exe $W_UNATTENDED_SLASH_CAP_QUIET
     load_wm9codecs

     w_set_winver 'default'

By default WINE associates lots of file types with Windows Media Player 9 when you install it. If that bothers you, here's how to disable them.

All 27 comments

Winetricks refuses to install wmp9 or wmp10 in a 64-bit prefix because it's known to not work due to a Wine bug (or bugs), which I can't quite find at this moment even though I tend to deal with it rather often (or so I feel).

It would be best to report issues with Proton at the Proton issue tracker (https://github.com/ValveSoftware/Proton/issues), which I see you have already done (https://github.com/ValveSoftware/Proton/issues/264), so that's good! :]

As a sidey-note, I don't believe Proton can make use of native dll overrides like a user can, so the issues need to be fixed in Wine/Proton itself.

I can only add a few thoughts: I only use wmp9 or wmp10 verbs for adding wmv playback to prefix, i never used the player itself. It would be cool if we could do something like winetricks wmv_ds and it would only install devenum and the codec without the player. Also this could maybe avoid some bugs which might be still present.

Also proton does support dll overrides. To make my life easier i use protontricks which itselfs relies on winetricks.

You could try this; I suspect it probably also needs registry entries, but it's getting late for me:
https://github.com/austin987/winetricks/commit/74069c52f1806f8d485bd46925d072dc34672bb2

If you

  1. extract MPSetup.exe instead of running it directly [cabextract or /C];
  2. mangle the string "IsWow64Process" in setup_wm.exe [e.g. sed -i 's/IsWow64Process/IsNow64Process/' setup_wm.exe];
  3. run that setup_wm.exe, then continue as normal;

wmp9 will install and work in a 64-bit Proton prefix. That is, the backend as used by some games does, no idea about the actual player.

All credit for this workaround goes to binaryfail [Reddit] / binaryfailed [Discord], I'm just putting some lipstick on the pig (i.e. WMP).

Sorry for not submitting a PR or something, but I don't know anything about git, and it's quick & dirty anyway.

$ sha256sum winetricks
316f940a2a50e24c2ac44080cce8b8d9fb6a75bd8b9e09708d44beac894b4c4a  winetricks
$ diff -u winetricks winetricks-custom
--- winetricks  2020-02-08 12:33:16.053305995 +0100
+++ winetricks-custom   2020-02-08 19:56:48.468458158 +0100
@@ -16046,7 +16046,7 @@
     # https://appdb.winehq.org/appview.php?versionId=1449

     # This version of Windows Media Player can be installed only on Windows 98 Second Edition, Windows Millennium Edition, Windows 2000, Windows XP(32-bit), and Windows .NET Server(32-bit).
-    w_package_unsupported_win64
+#    w_package_unsupported_win64

     w_call wsh57

@@ -16067,8 +16067,11 @@
     w_override_app_dlls MPSetup.exe native pidgen

     w_try_cd "$W_CACHE"/"$W_PACKAGE"
-    w_try "$WINE" MPSetup.exe $W_UNATTENDED_SLASH_Q

+    w_try cabextract -d "$W_TMP" ./MPSetup.exe
+    w_try_cd "$W_TMP"
+    w_try sed -i 's/IsWow64Process/IsNow64Process/' setup_wm.exe
+    "$WINE" setup_wm.exe $W_UNATTENDED_SLASH_CAP_QUIET
     load_wm9codecs

     w_set_winver 'default'

By default WINE associates lots of file types with Windows Media Player 9 when you install it. If that bothers you, here's how to disable them.

This doesn't make Devil May Cry HD Collection work at least.

Neither did winetricks directshow (includes quartz.dll), or ffdshow (with WMV decoders selected).

This doesn't make Devil May Cry HD Collection work at least.

Should it have? I.e., does the game work in a 32-bit prefix with wmp9 installed?

Should it have? I.e., does the game work in a 32-bit prefix with wmp9 installed?

No, and I've actually never heard of anyone getting a game with .wmv videos to play them through installing the wmp9/wmp10, ffdshow, or directshow/quartz dlls with winetricks, even in a 32bit Wine prefix and Wine built with proper gstreamer support.

You can find various people suggesting this over the past 10+ years, never heard of it ever actually working for any game.

No, and I've actually never heard of anyone getting a game with .wmv videos to play them through installing the wmp9 [...]

Well, it's finally fixed two games for me that previously skipped their videos, so I'm happy. One more tool in the workaround-toolbox, and now it works in 64-bit.

What games?

What games?

Different versions of the same engine. The trial is free, obviously, so it makes a good test case.

I'd love to continue this discussion -- find me on Reddit or something? --, but I feel it's OT for this issue, which is about using winetricks to install wmp9 in a 64-bit prefix. AFAICT, the hack achieves that.

@fallenguru i used your patch to install wmp9 into my Proton prefix for Call of Juarez Gunslinger, which uses wmv files for it's cutscenes and now it plays them perfectly. thank you!

I get an error when I run the modified setup_wm.exe

Screenshot_20200217_201131

Running it every time after that causes it to crash (I think? There's no success/error dialog window)

Regardless, the cutscenes still don't play for Munch's Oddysee. It technically runs though, so there's that.

I get an error when I run the modified setup_wm.exe

That error is perfectly normal, IIRC it does the same in a 32-bit vanilla WINE prefix. It doesn't affect operation.

Regardless, the cutscenes still don't play for Munch's Oddysee.

Then it doesn't need wmp9, or not only that.

@fallenguru I tried your patch to install wmp9 on Proton 5.0-3 and that fixed Resident Evil Revelations for me. Without it I couldn't play campaign mode (main game).

@luca-s what did you exactly to get Resident Evil Revelations running?

@fallenguru i'll test your changes and make pr later

@luca-s what did you exactly to get Resident Evil Revelations running?

1 - saved @fallenguru patch (few comments above) to file winetricks-wmp9.patch
2 - patched latest winetricks: patch winetricks winetricks-wmp9.patch
3 - installed wmp9 via winetricks on Resident Evil Revelations installation folder: WINEPREFIX=~/.steam/steam/steamapps/compatdata/222480/pfx ./winetricks-patched

Thank you very much, this one was it:

 --- winetricks 2020-02-08 12:33:16.053305995 +0100
 +++ winetricks-custom  2020-02-08 19:56:48.468458158 +0100
 @@ -16046,7 +16046,7 @@
      # https://appdb.winehq.org/appview.php?versionId=1449

      # This version of Windows Media Player can be installed only on Windows 98 Second Edition, Windows Millennium Edition, Windows 2000, Windows XP(32-bit), and Windows .NET Server(32-bit).
 -    w_package_unsupported_win64
 +#    w_package_unsupported_win64

      w_call wsh57

 @@ -16067,8 +16067,11 @@
      w_override_app_dlls MPSetup.exe native pidgen

      w_try_cd "$W_CACHE"/"$W_PACKAGE"
 -    w_try "$WINE" MPSetup.exe $W_UNATTENDED_SLASH_Q

 +    w_try cabextract -d "$W_TMP" ./MPSetup.exe
 +    w_try_cd "$W_TMP"
 +    w_try sed -i 's/IsWow64Process/IsNow64Process/' setup_wm.exe
 +    "$WINE" setup_wm.exe $W_UNATTENDED_SLASH_CAP_QUIET
      load_wm9codecs

      w_set_winver 'default'

Sorry, never did anything like this before :)

@Liemaeu exactly

I just tried @fallenguru patch with Darksiders Warmastered Edition without success.

winetricks.zip

@legluondunet I believe you need Media Foundation DLL for that game, this patch is for wmp9. Have a look here

@luca-s even with the legacy edition?

DEAD OR ALIVE 5 Last Round: Core Fighters needs wmp10 on a 64 bit prefix (along with several other libraries) for cinematics. I applied the solution by @fallenguru to wmp10. Unfortunately WM9Codecs9x.exe inside load_wm9codecs(), which is launched right after the installation of wmp10, says that it cannot find Windows Media Player installed.

EDIT: OK, if no solution is available at the moment I will stick with this convoluted method.

EDIT2: I have found a solution. I have written a guide here.

@dariox86 (or anyone else interested), please open a separate issue for wmp10. If there's a free demo/download, that would be very useful, as well. Thanks!

Fixed by https://github.com/Winetricks/winetricks/pull/1502

Was this page helpful?
0 / 5 - 0 ratings