itchio / itch

🎮 The best way to play your itch.io games
https://itch.io/app
MIT License
2.35k stars 209 forks source link

Windows install silently fails #2320

Open TheIronBorn opened 5 years ago

TheIronBorn commented 5 years ago

I downloaded the Itch client installer from the website http://nuts.itch.zone/download/windows but running the file seems to do nothing.

The cursor turns into an hourglass for a second or two and then nothing.

Debugging in Visual Studio gets The program '[8508] itch-setup(1).exe' has exited with code 2 (0x2).


Windows 10 1903 itch-setup.exe file version: 1.0.0.0

Full Visual Studio debug output:


'itch-setup(1).exe' (Win32): Loaded 'C:\Users\<user>\Downloads\itch-setup(1).exe'. Module was built without symbols.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\apphelp.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmm.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\ws2_32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmmbase.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Unloaded 'C:\Windows\SysWOW64\winmmbase.dll'
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmmbase.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Unloaded 'C:\Windows\SysWOW64\msvcrt.dll'
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbase.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\combase.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\win32u.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32full.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp_win.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleaut32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.18362.356_none_2e71e654278b50d2\comctl32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\comdlg32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\SHCore.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\shlwapi.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\shell32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\windows.storage.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\profapi.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\powrprof.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\umpdc.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel.appcore.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptsp.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\msimg32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.18362.356_none_5f5cd939821dcaa0\GdiPlus.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\opengl32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\glu32.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\DXCore.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\pdh.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\uxtheme.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\winspool.drv'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\propsys.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcrypt.dll'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\IPHLPAPI.DLL'. Symbols loaded.
'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Symbols loaded.
The thread 0x12a4 has exited with code 2 (0x2).
The thread 0x2584 has exited with code 2 (0x2).
The thread 0xb40 has exited with code 2 (0x2).
The thread 0x2d8 has exited with code 2 (0x2).
The thread 0xe50 has exited with code 2 (0x2).
The thread 0x3f5c has exited with code 2 (0x2).
The thread 0x2a78 has exited with code 2 (0x2).
The thread 0x169c has exited with code 2 (0x2).
The program '[8508] itch-setup(1).exe' has exited with code 2 (0x2).
fasterthanlime commented 5 years ago

Interesting. I assume you already checked for anything obvious like third-party Antivirus software interference?

itch-setup logs to a file, see here for the path: https://github.com/itchio/itch-setup/blob/8b2074fd782cd00976193c1a627f31b4e0ec2728/main.go

My instinct would be to trace it with something like ProcMon: https://docs.microsoft.com/en-us/sysinternals/downloads/procmon or maybe APIMonitor: http://www.rohitab.com/apimonitor

On Thu, Sep 12, 2019, 21:50 TheIronBorn notifications@github.com wrote:

I downloaded the Itch client installer from the website http://nuts.itch.zone/download/windows but running the file seems to do nothing.

The cursor turns into an hourglass for a second or two and then nothing.

Debugging in Visual Studio gets The program '[8508] itch-setup(1).exe' has exited with code 2 (0x2).

Windows 10 1903 itch-setup.exe file version: 1.0.0.0

Full Visual Studio debug output:

'itch-setup(1).exe' (Win32): Loaded 'C:\Users\\Downloads\itch-setup(1).exe'. Module was built without symbols. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\apphelp.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmm.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\ws2_32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmmbase.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Unloaded 'C:\Windows\SysWOW64\winmmbase.dll' 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\winmmbase.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Unloaded 'C:\Windows\SysWOW64\msvcrt.dll' 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\sspicli.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbase.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\combase.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\win32u.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32full.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp_win.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleaut32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.18362.356_none_2e71e654278b50d2\comctl32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\comdlg32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\SHCore.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\shlwapi.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\shell32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\windows.storage.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\profapi.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\powrprof.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\umpdc.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel.appcore.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptsp.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\msimg32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.18362.356_none_5f5cd939821dcaa0\GdiPlus.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\opengl32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\glu32.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\DXCore.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\pdh.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\uxtheme.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\winspool.drv'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\propsys.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcrypt.dll'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\IPHLPAPI.DLL'. Symbols loaded. 'itch-setup(1).exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Symbols loaded. The thread 0x12a4 has exited with code 2 (0x2). The thread 0x2584 has exited with code 2 (0x2). The thread 0xb40 has exited with code 2 (0x2). The thread 0x2d8 has exited with code 2 (0x2). The thread 0xe50 has exited with code 2 (0x2). The thread 0x3f5c has exited with code 2 (0x2). The thread 0x2a78 has exited with code 2 (0x2). The thread 0x169c has exited with code 2 (0x2). The program '[8508] itch-setup(1).exe' has exited with code 2 (0x2).

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/itchio/itch/issues/2320?email_source=notifications&email_token=AB5AWZSJGYBMYRHDFYM5OZLQJKMABA5CNFSM4IWI4BN2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HLCQHFA, or mute the thread https://github.com/notifications/unsubscribe-auth/AB5AWZQSGVDRXIAOZ53QDV3QJKMABANCNFSM4IWI4BNQ .

TheIronBorn commented 5 years ago

There didn't seem to be a itch-setup-log.txt file.

I tried turning off the native antivirus "Real-time protection" and then itch-setup.exe worked. Re-enabled real-time protection and it silently fails again. Disabling "Controlled folder access" works as well.

fasterthanlime commented 5 years ago

There didn't seem to be a itch-setup-log.txt file.

I tried turning off the native antivirus "Real-time protection" and then itch-setup.exe worked. Re-enabled real-time protection and it silently fails again. Disabling "Controlled folder access" works as well.

Interesting. Creating an itch-setup-log.txt file is the first thing the installer tries to do, weird that it got blocked that early?

I have Real-time protection enabled on my computer and can't reproduce. I didn't have Controlled folder access on though. To give it a try, I enabled Controlled folder access in "Audit" mode, and the only relevant event I could find was this:

image

which would prevent itch-setup from creating a desktop shortcut - but possibly not crash it? I can change it so that failing to create the shortcut is okay (but ideally we'd find a workaround eventually).

Creating a desktop shortcut happens very, very late in the install process though - way after showing a GUI, lettting you pick an install folder, extracting and moving everything into place. So I don't think this explains that.


If you could investigate further (with ProcMon, and/or Windows Event Viewer, see this article), I'd be curious what is actually preventing it from starting up.

TheIronBorn commented 5 years ago

I couldn't find anything interesting via those methods. Also Windows Security is crashing when I open "Protection History", who knows.

I had a hunch though and disabled https://github.com/DNSCrypt/dnscrypt-proxy and that seems to have worked. Even with dnscrypt-proxy enabled again it seems to work fine. (It has some issues with Windows system stuff. Haven't figured that out yet).

(In case it wasn't clear, the Itch Setup window wasn't opening at all. I'm not sure a shortcut should have been created at that point)

fasterthanlime commented 5 years ago

Also Windows Security is crashing when I open "Protection History", who knows.

Ah, well then.

I had a hunch though and disabled https://github.com/DNSCrypt/dnscrypt-proxy and that seems to have worked. Even with dnscrypt-proxy enabled again it seems to work fine. (It has some issues with Windows system stuff. Haven't figured that out yet).

That's extremely strange, given that I promise itch-setup creates a window before making any network requests.. but I haven't reviewed dnscrypt-proxy's code. There's definitely something fishy going on here.

TheIronBorn commented 5 years ago

I would guess that windows defender is attempting to make a network request before allowing itch-setup to do anything. And then it reaches a problem with dnscrypt.

In which case there’s nothing you do. If you like I could just close the issue.

fasterthanlime commented 5 years ago

I mean I love closed issues, no argument there, I'm just thinking that it's unlikely Windows Defender would make a network request before launching an executable? But I might be wrong. I wonder what's the right way to try and monitor this..