deno
deno copied to clipboard
Application does not show up with `deno compile --no-terminal` on Windows and WSL
Thank you for the wonderful option called --no-terminal.
However, in my environment, the application did not show up after compile. I think this is the cause of this part, because it does not work when I add --no-terminal.
Development environment
$ uname -sr
Linux 5.15.90.1-microsoft-standard-WSL2
$ deno --version
deno 1.38.0 (release, x86_64-unknown-linux-gnu)
v8 12.0.267.1
typescript 5.2.2
Operating Environment
> Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
WindowsProductName WindowsVersion OsHardwareAbstractionLayer
------------------ -------------- --------------------------
Windows 10 Home 2009 10.0.19041.3636
Verification Repository
https://github.com/rwl-dev-playground/verify-deno-webview
In the main branch, there is no --no-terminal.
In the no-terminal branch, there is --no-terminal.
Each can be executed with deno task compile:windows.
Downgrade to 1.36.0 for a temporary fix.
Is there a way to fix this in the current version?
I checked and it seems that the application is show up on macOS even if --no-terminal is used.
The following is a list of the verification results for each environment.
- Windows 10(Deno v1.36.0) : does not show up
- Windows 10(Deno v1.39.0) : does not show up
- macOS Monterey(Deno v1.36.0) : show up
- macOS Monterey(Deno v1.39.0) : show up
- Ubuntu on WSL 2(Deno v1.36.0) : does not show up
- Ubuntu on WSL 2(Deno v1.36.0) : does not show up
I checked with the validation repository listed in the first Issue comment. The compile command is deno task compile:windows.
Verification environment(macOS)
The Windows 10 and WSL 2 versions are listed in the first Issue comment and will be omitted, only the macOS versions will be listed.
% sw_vers
ProductName: macOS
ProductVersion: 12.7
BuildVersion: 21G816
% deno --version
deno 1.39.0 (release, x86_64-apple-darwin)
v8 12.0.267.8
typescript 5.3.3
I have the exact the same issue. Now I wonder if this is an issue with Deno or https://github.com/wobsoriano/deno-systray.
Can be easily reproduced with:
$ deno compile -A https://github.com/wobsoriano/deno-systray/blob/dc21cf5b71fd68789d1db8f647ad805b5bc8cd51/example/index.ts
$ .\example.exe
<first confirm it works>
$ deno compile -A --no-terminal https://github.com/wobsoriano/deno-systray/blob/dc21cf5b71fd68789d1db8f647ad805b5bc8cd51/example/index.ts
$ .\example.exe
<confirm it doesn't work, the application closes immediately>
Can we get some support from Deno team? This would enable me to do some cool things.
To try to help with debugging I built deno (f57745fe, because later ones have a bug) on Windows, and tried different PE subsystems. 3 works as usual (opens a terminal), 2 does not as reported.
(Basically edited this line... put in a hack to read an env var so it's easy to try different values.)
Probably it's not enough to simple set the subsystem the binary needs to be linked as such. And it might be even better to have the option to "hide the console window" at runtime, which means this can be a CLI argument for the compiled executable.