minigalaxy
minigalaxy copied to clipboard
Installer hangs at "Installing: DirectX 9.0c" for certain Windows games
Version
This happens with 1.0.2 as well as with Master branch (After merge of PR #310).
Problem
Installer never finishes the step "Installing: DirectX 9.0c". Happens with multiple of my games, but most recent I tested with was Styx: Master of Shadows.
Workaround
Closing minigalaxy for some reason fixes it. I could then move the extracted files manually to the final destination (from extracts to GOG Galaxy) to finish the installation manually.
Temporary fix
The following change fixes the issue for me, although I am puzzled as to why this works. The terminal does get cluttered with Wine output when this fix is implemented as-is. As to the cause I am puzzled: Maybe the subprocess is expecting input from an alive main process before exiting?
Note: I verfied the VERYSILENT option does NOT affect the issue, it is only needed to visualize the issue.
# installer.py
# line 77 - 82
command = ["env", "WINEPREFIX={}".format(prefix_dir), "wine", installer, "/dir={}".format(temp_dir)] #, "/VERYSILENT"]
process = subprocess.Popen(command) #, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
process.wait()
#stdout, stderr = process.communicate()
#stdout = stdout.decode("utf-8")
#stderr = stderr.decode("utf-8")
Thanks for the bug report. This is well written. I think I've seen this issue before, but I'm not 100% sure. I wonder if we even need the dx9 dlls to begin with. Maybe there is some way to skip installing it.
@SvdB-nonp I have exactly the same problem with Styx. Could you please explain your workaround in more detail?
For example:
- Where are the extracted files located?
- What files do I need to copy in what directory?
Minigalaxy will install the game temporarily in ~/.cache/minigalaxy/extract
in a subfolder with the game_id (which is a number you probably do not recognise). It normally moves this to ~/GOG Games
in the actual game folder when installation finishes. However, if you force the installation to continue by closing minigalaxy, this last move will hence not occur.
Note that the prefix is already in the final location, as this will be created before installation is started.
In summary:
Move the contents of the ~/.cache/minigalaxy/extract/<game_id>
folder to the ~/GOG Games/<game_name>
folder. If you had minigalaxy open, restart it for it to pick up the game correctly.
@SvdB-nonp thx for your reply. I was able to get it running! Yeah! I'm replying so late, cause my pc got some problems and I wasn't able to try it earlier..
This should no longer happen if Innoextract is installed.
I simply tried installing Styx with master branch and it indeed installs fine. Especially if also the bugged section changed, I propose to close the issue.