minigalaxy icon indicating copy to clipboard operation
minigalaxy copied to clipboard

Installer hangs at "Installing: DirectX 9.0c" for certain Windows games

Open SvdB-nonp opened this issue 3 years ago • 6 comments

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")

SvdB-nonp avatar Apr 13 '21 12:04 SvdB-nonp

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.

sharkwouter avatar Apr 13 '21 13:04 sharkwouter

@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?

bastooo avatar Jul 05 '21 09:07 bastooo

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 avatar Jul 05 '21 18:07 SvdB-nonp

@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..

bastooo avatar Aug 12 '21 11:08 bastooo

This should no longer happen if Innoextract is installed.

sharkwouter avatar Nov 08 '21 22:11 sharkwouter

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.

SvdB-nonp avatar Nov 09 '21 07:11 SvdB-nonp