Hello everyone I have been trying to run a arcade game on linux for quite some time and I have failed enough to where I am at the point where it would probably be best for me to ask for some help. The game launches via a start script.bat However I can not get the game to launch via lutris with the bat due to it have 32 bit and 64 bit injection of dlls (iirc) the start. bat looks like this

@echo off

pushd %~dp0

taskkill /f /im amdaemon.exe > nul 2>&1

start /min inject_x64.exe -d -k chusanamhook.dll amdaemon.exe -f -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json

inject_x86.exe -d -k chusanhook.dll chusanApp.exe

taskkill /f /im amdaemon.exe > nul 2>&1

echo. echo Game processes have terminated pause

(I am not sure if lemmy supports markdown) (The game is called Chunithm Sun)

Does anyone have any ideas on how I could launch the exe while getting these dlls injected at the same time? I have tried going into the wine dlls with winetricks and adding them as native built in but it still doesn’t launch with the .bat. I can sometimes get just the exe to load but it crashes when it attempts to get past a certain point in the boot up procedure due to not having dlls injected. This is the only game keeping me from using linux full time so I would appreciate any help I can get.

  • INeedMana@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 year ago

    Few thoughts

    1. winetricks is more a tool to easily download and install third-party libraries. For dll management I would propose to use winecfg directly (and regedit if needed) and pass it the libraries the game ships. In the logs you have lines like 014c:err:module:import_dll Library gdi32full.dll (which is needed by L"Z:\home\polaris\SSD\Chunithm SUN (SDHD 2.10.01)\App\bin\chusanApp.exe") not found without setting these, wine is looking for them somewhere in WINEPREFIX instead of current dir
    2. I don’t think you need to run the batch, probably running the commands through wine directly would work better. But for running batch files, cmd seems to be the right tool for the job
    3. since this seems to be mainly a 32-bit application, maybe you need to just create a 32bit prefix for it and run without inject_x86.exe?
    4. when trying to execute the inject_x86.exe, try passing direct paths to chusanApp.exe or make sure to be in the directory the latter sits. There is some small difference between how windows and wine handle paths
    • PolarisPyra@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 year ago

      Thank you for the reply! So I started up a 32 bit wine prefix just to test and I still get the same error. This time I used bottles to create a 32 bit wine prefix and install vcruntime just to make sure I wasn’t missing any dlls and still had the same error however just running

      [polaris@archlinux bin]$ WINEPREFIX=/home/polaris/SSD/ChunithmSun32 WINEARCH=win32 wine chunsanapp.exe
      

      outputted this

      002c:fixme:winediag:LdrInitializeThunk wine-staging 8.11 is a testing version containing experimental patches.
      002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
      002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (126).
      0080:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
      0080:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
      0080:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
      0080:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
      Application could not be started, or no application associated with the specified file.
      ShellExecuteEx failed: File not found.
      

      just for reference sake running

      [polaris@archlinux bin]$ WINEPREFIX=/home/polaris/SSD/ChunithmSun32 WINEARCH=win32 wine start.bat 
      

      outputs

      002c:fixme:winediag:LdrInitializeThunk wine-staging 8.11 is a testing version containing experimental patches.
      002c:fixme:winediag:LdrInitializeThunk Please mention your exact version when filing bug reports on winehq.org.
      002c:err:wineboot:process_run_key Error running cmd L"C:\\windows\\system32\\winemenubuilder.exe -a -r" (126).
      0080:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
      0080:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
      0080:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
      0080:fixme:hid:handle_IRP_MN_QUERY_ID Unhandled type 00000005
      Application could not be started, or no application associated with the specified file.
      ShellExecuteEx failed: Bad EXE format for Z:\home\polaris\SSD\Chunithm SUN (SDHD 2.10.01)\App\bin\inject_x64.exe.
      
      0134:err:module:import_dll Library DPAPI.DLL (which is needed by L"Z:\\home\\polaris\\SSD\\Chunithm SUN (SDHD 2.10.01)\\App\\bin\\chusanApp.exe") not found
      0134:err:module:import_dll Library gdi32full.dll (which is needed by L"Z:\\home\\polaris\\SSD\\Chunithm SUN (SDHD 2.10.01)\\App\\bin\\chusanApp.exe") not found
      0134:err:module:LdrInitializeThunk Importing dlls for L"Z:\\home\\polaris\\SSD\\Chunithm SUN (SDHD 2.10.01)\\App\\bin\\chusanApp.exe" failed, status c0000135
      VirtualFreeEx failed
      DebugActiveProcess failed: 80070005
      
      Game processes have terminated
      Press any key to continue...
      

      The 32bit winebottle I created looks like this and has a whole bunch of libraries install alongside with it since im mainly too lazy to install vcruntimes etc my self lmao

      I know that on windows it requires vcruntime and direct x12 to run properly but so do most games so im not sure why this one is behaving bad…

      Thank you again for taking time out of your day to help!