deno icon indicating copy to clipboard operation
deno copied to clipboard

Application does not show up with `deno compile --no-terminal` on Windows and WSL

Open windchime-yk opened this issue 2 years ago • 3 comments

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.

windchime-yk avatar Nov 05 '23 07:11 windchime-yk

Downgrade to 1.36.0 for a temporary fix.

cunev avatar Nov 09 '23 21:11 cunev

Is there a way to fix this in the current version?

Cedar-81 avatar Nov 10 '23 18:11 Cedar-81

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

windchime-yk avatar Dec 17 '23 14:12 windchime-yk

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.

felipecrs avatar Jun 21 '24 03:06 felipecrs

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.

PAStheLoD avatar Aug 08 '24 00:08 PAStheLoD