ProjectSynchro / powershell-wrapper-for-wine

pwsh wrapper for wine
GNU General Public License v2.0
1 stars 0 forks source link

Investigate issue with "game services error" #2

Closed ProjectSynchro closed 2 months ago

ProjectSynchro commented 2 months ago

Excerpt from RSI Launcher 2.0.3

Start-Process: A positional parameter cannot be found that accepts argument 'Files\Roberts'.
20:27:47.536 > [
 "[Installer] - Games services error",
 {
  "stack": [
   "EACError: Unable to register game Star Citizen with environment LIVE to the EAC service",
   "    at Object.installWindowsService (C:\\Program Files\\Roberts Space Industries\\RSI Launcher\\resources\\app.
asar\\lib\\src\\install-eac-windows-service.js:60:37)",
   "    at async Installer.getGameServices (C:\\Program Files\\Roberts Space Industries\\RSI Launcher\\resources\\a
pp.asar\\lib\\src\\services\\installer\\installer.js:274:20)",
   "    at async getInstallationTask (C:\\Program Files\\Roberts Space Industries\\RSI Launcher\\resources\\app.asa
r\\lib\\src\\services\\installer\\installer.js:362:21)",
   "    at async IpcMainImpl.<anonymous> (C:\\Program Files\\Roberts Space Industries\\RSI Launcher\\resources\\app
.asar\\lib\\src\\services\\installer\\installer.js:412:17)"
  ]
 }
]
20:27:47.705 > "[Analytics] event sent : App:Install:Success"

Most likely this is due to some missing checks in my reimplementation of Start-Process that works around a wine bug with how sudo-prompt invokes CMD.

ProjectSynchro commented 2 months ago

This seems benign, but could be related to issues with loading EAC.

ProjectSynchro commented 2 months ago

This is only benign due to us not using EAC on Linux due to broken support. This needs to work whenever EAC is enforced.

The launcher directly invokes powershell with arguments in double quotes with spaces in the path which causes all sorts of issues when passing the command to pwsh with -c.

For now I replaced " with ' which solves this issue. This may cause some problems in the future if there are substitutions made in an argument, but this solution works for the moment.

Fixed with https://github.com/ProjectSynchro/powershell-wrapper-for-wine/commit/9be0abd979bc5c9f366fc90e1cee7b57feb57487