Heroes of the Storm requires d3dcompiler_47.dll. Right now I'm telling people to copy it from the HotS install to system32. This works.
It doesn't seem possible atm with Winetricks. Either I'm missing something, or it isn't part of Winetricks yet. Perhaps a future enhancement?
It's a valid request, sure. Unfortunately, the downloads for it I found on microsoft.com (https://www.catalog.update.microsoft.com/Search.aspx?q=KB4019990) are .msu files, which work under staging, but not plain wine. While cabextract can extract some files from a .msu, I wasn't able (in the 15 minutes I spent trying) to find the actual dll to extract.
If someone can show to get the dll with something not requiring wine-staging (i.e., 7zip/cabextract/etc.), or alternatively, a non .msu source, I'd be happy to add it.
Yeah, I had a look myself. I get to the same point. Can cabextract till I get some files out of it, it has a manifest describing the other files...then their WUSA tool will be able to use that to stitch together the files.
Just linking the Staging patch: https://github.com/wine-staging/wine-staging/tree/master/patches/wusa-MSU_Package_Installer
I posted in the bug report of HotS on WineHQ that the Staged patch is needed if you want to add this to Winetricks: https://bugs.winehq.org/show_bug.cgi?id=43775
The patch seems to have been created by Michael M眉ller / Sebastian Lackner. So mainlining should have a chance. So unless someone else comes up with anything, we wait.
There`s lots of applications shipping a version of d3dcompiler_47.dll.
Example GitHubSDesktop:
7z x ~/GitHubDesktopSetup.exe
7z x GitHubDesktop-1.0.4-full.nupkg
cd lib/net45/
file d3dcompiler_47.dll
d3dcompiler_47.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows
From https://desktop.github.com/
For the 32-bit version there are other apps as well, just search for example for Squirrel installer in bugzilla, same recipe really
I`d be happy too if this verb could be added to winetricks, thanks in advance
That's helpful, thanks. It would be be best if we could find an app with both 32/64, but this is a good starting point
Heres a script I made that does the trick for me (firefox also ships d3dcompiler_47)
Im sure there should be a better way then downloading 32-bitversion, extract and remove it, and then do the same for 64-bit version. But for now i don`t know how to download them in different folders
w_metadata d3dcompiler_47 dlls \
title="MS d3dcompiler_47.dll" \
media="download" \
load_d3dcompiler_47()
{
w_download https://download-installer.cdn.mozilla.net/pub/firefox/releases/62.0.3/win32/ach/Firefox%20Setup%2062.0.3.exe
w_try_7z "$W_TMP"/32 "$W_CACHE"/d3dcompiler_47/
w_try cp "$W_TMP"/32/core/d3dcompiler_47.dll "$W_SYSTEM32_DLLS"/d3dcompiler_47.dll
w_try rm -f "$W_CACHE"/d3dcompiler_47/.
w_download https://download-installer.cdn.mozilla.net/pub/firefox/releases/62.0.3/win64/ach/Firefox%20Setup%2062.0.3.exe
w_try_7z "$W_TMP"/64 "$W_CACHE"/d3dcompiler_47/
w_try cp "$W_TMP"/64/core/d3dcompiler_47.dll "$W_SYSTEM64_DLLS"/d3dcompiler_47.dll
w_try rm -f "$W_CACHE"/d3dcompiler_47/*.*
#Override not needed atm, prefers native version
}
`
w_metadata d3dcompiler_47 dlls
title="MS d3dcompiler_47.dll"
media="download" \
load_d3dcompiler_47()
{
w_download https://download-installer.cdn.mozilla.net/pub/firefox/releases/62.0.3/win32/ach/Firefox%20Setup%2062.0.3.exe
w_try_7z "$W_TMP"/32 "$W_CACHE"/d3dcompiler_47/
w_try cp "$W_TMP"/32/core/d3dcompiler_47.dll "$W_SYSTEM32_DLLS"/d3dcompiler_47.dll
w_try rm -f "$W_CACHE"/d3dcompiler_47/.
w_download https://download-installer.cdn.mozilla.net/pub/firefox/releases/62.0.3/win64/ach/Firefox%20Setup%2062.0.3.exe
w_try_7z "$W_TMP"/64 "$W_CACHE"/d3dcompiler_47/
w_try cp "$W_TMP"/64/core/d3dcompiler_47.dll "$W_SYSTEM64_DLLS"/d3dcompiler_47.dll
w_try rm -f "$W_CACHE"/d3dcompiler_47/.
}`
Most helpful comment
There`s lots of applications shipping a version of d3dcompiler_47.dll.
Example GitHubSDesktop:
7z x ~/GitHubDesktopSetup.exe
7z x GitHubDesktop-1.0.4-full.nupkg
cd lib/net45/
file d3dcompiler_47.dll
d3dcompiler_47.dll: PE32+ executable (DLL) (console) x86-64, for MS Windows
From https://desktop.github.com/
For the 32-bit version there are other apps as well, just search for example for Squirrel installer in bugzilla, same recipe really
I`d be happy too if this verb could be added to winetricks, thanks in advance