Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exe Installer infinitely hangs during install process #2348

Open
milonti opened this issue Jan 1, 2025 · 1 comment
Open

Exe Installer infinitely hangs during install process #2348

milonti opened this issue Jan 1, 2025 · 1 comment
Labels
bug unconfirmed An unconfirmed bug

Comments

@milonti
Copy link

milonti commented Jan 1, 2025

  • Version: 5.12.1 and 5.11
  • Game Version: n/a
  • OS: Windows 10 Pro
  • OS Locale: English
    Describe the bug

I tried to install the newest version of EDMC after having not played Elite Dangerous in awhile. I was trying to upgrade from 5.1.1.0 to 5.12.1, and while the installer was running I got to the part with a loading bar where it should actually start getting installed. My installer would not load anything and continually made the sound alert for an action not being allowed when I would click inside the installer box. The loading bar never updated and no steps ever appeared above it as normally happen with installers. This happened with the signed exe installer for 5.12.1

I tried uninstalling my EDMC all the way and doing a fresh install, the same issue happened. I then tried installing 5.11.1 and got the same issue. After this I tried reinstalling 5.1.1.0 from the msi file, and this worked.

I then uninstalled it again, and eventually tried the oldest exe file I could find (5.9.1) and suprisingly it worked. I honestly only tried to see if it was all of the exe installers having issues, but apparently it was just those two so far for me. So I'm not sure what to do in order to update any further than 5.9

@milonti milonti added bug unconfirmed An unconfirmed bug labels Jan 1, 2025
@Rixxan
Copy link
Contributor

Rixxan commented Jan 6, 2025

The largest step in the EXE installer process that causes lag is due to the fact that, previously, EDMC didn't install in the registry under a set product App ID (Now constant with ID 5E9AD4D3-0365-41D5-9586-9368745DD109). This means that EDMC would not always cleanly upgrade from one version to the other once we moved off of MSI installers to EXE installers.

As a result of that, the following logic check happens as part of the uninstaller:

var
  EndStr: string;
begin
  Log('Starting');
  EndStr := Copy(Text, Length(Text) - Length(SubText) + 1, Length(SubText));
  Log(EndStr);
  { Use SameStr, if you need a case-sensitive comparison }
  Result := SameText(SubText, EndStr);
end;

// EDMC didn't keep a consistant GUID during previous history. Due to that, we have to do this tomfoolery.
procedure CurStepChanged(CurStep: TSetupStep);
var
  ResultCode: Integer;
  Uninstall: String;
  OldWiX: Boolean;
  S: AnsiString;
  PowerShellOutputFile: String;
begin
  if (CurStep = ssInstall) then
  begin
  PowerShellOutputFile := ExpandConstant('{tmp}\PowershellOutput.txt');
  // Construct the PowerShell command and capture output to a file
  Exec('powershell.exe', '-NoProfile -ExecutionPolicy Bypass -Command "Get-WmiObject -Class Win32_Product | where Name -eq ''Elite Dangerous Market Connector'' | select-object -expandproperty IdentifyingNumber" | Out-File -Encoding ASCII "' + PowerShellOutputFile + '"', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
    begin
    if LoadStringFromFile(PowerShellOutputFile, S) then
    S:= Trim(S);
    Log(S);
      begin
      OldWiX:=EndsWith('}', S);
      if (OldWiX = True) then
        begin
        MsgBox('Warning: an old version of EDMC is installed! Please close EDMC while we remove the old version!', mbInformation, MB_OK);
        Uninstall := '/x ' + S;
        Exec('MsiExec.exe', Uninstall, '', SW_SHOW, ewWaitUntilTerminated, ResultCode);
        end;
      end;
    end;
  end;
end;

I would recommend performing incremental updates and seeing which version was causing you the issue. I have seen the program hang for ~30 seconds or so before on the installer, but never a full infinite hang. If you can replicate this, and identify a specific version, please let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug unconfirmed An unconfirmed bug
Projects
None yet
Development

No branches or pull requests

2 participants