07th-mod / python-patcher

Mod Installer for the Higurashi and Umineko Games
158 stars 12 forks source link

Installer fails with latest wine #131

Closed soredake closed 3 years ago

soredake commented 3 years ago

Kubuntu 20.10

Logs from installer: 07th-mod-logs.zip

Logs from wine: 07th.log

soredake commented 3 years ago

https://bugs.winehq.org/show_bug.cgi?id=50295

drojf commented 3 years ago

After typing up the below text, I saw this line which seems to coincide with the error that causes the installer to fail

02d0:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
02d0:fixme:bcrypt:BCryptOpenAlgorithmProvider algorithm L"RC4" not supported

Specifically the "Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution." part

I think that's what's causing the issue - Aria2 is attempting to use this feature during the download, but it's not supported. I'm not very familiar with Wine so I'm not sure if that's something you can fix on your end.


I'm not sure that we want to support using the installer on Wine unless the fix is relatively easy. It would probably be easier to do the install on Linux, but add an option in the installer to force the installation of the Windows assets.

Downloading...
<<< Status: 0% Downloading: 911.73 MB (total) DL Folder: [Himatsubushi Ch.4 Downloads] URL: [https://07th-mod.com/rikachama/graphics/Himatsubushi-Graphics.7z] (Attempt: 1/3) >>>
----- BEGIN EXECUTING COMMAND: [./aria2c --file-allocation=none --continue=true --retry-wait=5 -m 0 -x 8 -s 8 -j 1 --auto-file-renaming=false --allow-overwrite=true --follow-metalink=false --disable-ipv6=true -d Himatsubushi Ch.4 Downloads https://07th-mod.com/rikachama/graphics/Himatsubushi-Graphics.7z] -----
02ac:fixme:file:server_get_file_info Unsupported info class e
02ac:fixme:file:server_get_file_info Unsupported info class e
02d0:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
02d0:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
02d0:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.
02d0:fixme:bcrypt:BCryptOpenAlgorithmProvider algorithm L"RC4" not supported

12/09 13:17:57 [NOTICE]
 Downloading 1 item(s)
02d0:fixme:iphlpapi:GetBestRoute2 (0x19c37cb, 0, (nil), 0x19c3d69, 0x00000000, 0xbef618, 0xbef5fc): stub
02d0:fixme:secur32:schannel_get_cipher_algid unknown algorithm 23
02d0:fixme:secur32:schannel_get_mac_algid unknown algorithm 200, cipher 23
02d0:fixme:secur32:schan_QueryContextAttributesA Unhandled attribute 0x64
A s s e r t i o n   f a i l e d ! 

 P r o g r a m :   Z : \ m e d i a \ d a n e t \ I n t e r n a l H D D \ 0 7 t h - m o d _ i n s t a l l e r \ a r i a 2 c . e x e 
 F i l e :   W i n T L S S e s s i o n . c c ,   L i n e   7 9 8 

 E x p r e s s i o n :   0 

Testing whether this succeeds or fails under wine would be be a start if you want to debug the issue:

./aria2c --file-allocation=none --continue=true --retry-wait=5 -m 0 -x 8 -s 8 -j 1 --auto-file-renaming=false --allow-overwrite=true --follow-metalink=false --disable-ipv6=true -d Himatsubushi Ch.4 Downloads https://07th-mod.com/rikachama/graphics/Himatsubushi-Graphics.7z

The exact aria2c.exe binary should be from here: https://github.com/07th-mod/python-patcher/tree/master/bootstrap/higu_win_installer_32/install_data

soredake commented 3 years ago

Specifically the "Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution." part

It's harmless warning, installing package does not fix anything. Installer in wine worked with ubuntu 20.04.

but add an option in the installer to force the installation of the Windows assets.

Would be nice to have such option.

drojf commented 3 years ago

I added a command line argument --asset-os which forces the installer to install assets for a partilar OS, even if different from the host OS.

You can use it like: python main.py --asset-os windows

I haven't really tested this, so it would be great if you could test it for me.

I haven't released a new installer build with this feature yet, but you can try it as follows:

  1. Please follow the instructions here to install dependencies on Linux (should just be aria2 and p7zip-full)
  2. Download the raw source code on my testing branch from here, and extract it to a writeable folder
  3. [Optional] Delete the installData.json to force this test build to fetch the installData.json from this repo if you intend to use this build of the installer in the future
  4. Run python main.py --asset-os windows or python3 main.py --asset-os windows to run the installer
  5. The installer will complain that you're using an "old installer" - just ignore that and click "use anyway"

Next time I release a build, I'll include this feature (assuming it works for you), but it probably won't be any time soon.


Before this issue is closed, we should do the following:

soredake commented 3 years ago

@drojf it works, thanks!