Matoking/protontricks

protontricks-launch with windows style path

DanielGaaA opened this issue · 2 comments

Is there way to run exe file with windows/wine style path? Wine allow to run application with windows style path https://wiki.winehq.org/Wine_User%27s_Guide#Using_wine_start

I want to use this to run Teamspeak 3 from Arma 3 proton prefix. Currently people are using would be much easier to run
protontricks-launch --appid 107410 'C:\Program Files\TeamSpeak 3 Client\ts3client_win64.exe'
instead of using full path protontricks-launch --appid 107410 '/home/deck/.steam/steam/steamapps/compatdata/107410/pfx/drive_c/Program Files/TeamSpeak 3 Client/ts3client_win64.exe'

To Reproduce
Steps to reproduce the behavior:

  1. Run command protontricks-launch --appid 107410 'C:\Program Files\TeamSpeak 3 Client\ts3client_win64.exe'
  2. Command fails and error is displayed
Traceback (most recent call last):
  File "/usr/bin/protontricks-launch", line 33, in <module>
    sys.exit(load_entry_point('protontricks==1.11.0', 'console_scripts', 'protontricks-launch')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/protontricks/cli/launch.py", line 18, in cli
    main(args)
  File "/usr/lib/python3.12/site-packages/protontricks/cli/util.py", line 159, in wrapper
    return cli_func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/protontricks/cli/launch.py", line 111, in main
    executable_path = Path(args.executable).resolve(strict=True)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/pathlib.py", line 1240, in resolve
    s = self._flavour.realpath(self, strict=strict)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen posixpath>", line 435, in realpath
  File "<frozen posixpath>", line 470, in _joinrealpath
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Program Files\\TeamSpeak 3 Client\\ts3client_win64.exe'

Additional context

Currently we are using ninelore script that could be fully replaced by protontricks and with windows style path people will not need to figure out path to proton prefix. This make it much easier to just tell everyone run script without editing paths.

You can provide a custom command with -c. Combined with Wine's start parameter, something like this should work:

$ protontricks -c 'wine start "C:\\Program Files (x86)\\Internet Explorer\\iexplore.exe"' <appid>

Thank you this works.
Sadly found out when protontrick is installed via flatpak, TS3 is not able to detect arma3 and interact with it (thanks sandbox)