asticode / go-astilectron-bundler

Bundle your Astilectron app with ease
MIT License
129 stars 68 forks source link

windows does not display #104

Open liuhedong opened 1 year ago

liuhedong commented 1 year ago

1: Windows 10 can be compiled and run on the local device. Copy the exe to other devices to run as an administrator. You can see it in the task manager, but the program is not displayed. Other devices: windows10 and windows7 astilectron: 0.55.0 electron: 11.4.3

{ "app_name": "ceshi", "icon_path_darwin": "resources/icon.icns", "icon_path_linux": "resources/icon.png", "icon_path_windows": "resources/icon.ico" }

2: Adding a signature still doesn't work

asticode commented 1 year ago

Did you add a proper logger using this option ? If not, could you add it ?

Once you've done it, could you open the exe in the terminal and paste logs output here?

liuhedong commented 1 year ago

package main

import ( "fmt" "log"

"net/http"

"github.com/asticode/go-astikit"
"github.com/asticode/go-astilectron"

)

func main() { http.HandleFunc("/", func(wr http.ResponseWriter, r *http.Request) { wr.Write([]byte(`<!DOCTYPE html>

test
test test test
`)) }) go http.ListenAndServe("127.0.0.1:8858", nil) // Set logger l := log.New(log.Writer(), log.Prefix(), log.Flags()) // Create astilectron a, err := astilectron.New(l, astilectron.Options{ AppName: "test", //BaseDirectoryPath: "example", }) if err != nil { l.Fatal(fmt.Errorf("main: creating astilectron failed: %w", err)) } defer a.Close() // Handle signals a.HandleSignals() // Start if err = a.Start(); err != nil { l.Fatal(fmt.Errorf("main: starting astilectron failed: %w", err)) } // New window var w *astilectron.Window if w, err = a.NewWindow("http://127.0.0.1:8858", &astilectron.WindowOptions{ Center: astikit.BoolPtr(true), Width: astikit.IntPtr(500), Height: astikit.IntPtr(300), Resizable: astikit.BoolPtr(false), }); err != nil { l.Fatal(fmt.Errorf("main: new window failed: %w", err)) } // Create windows if err = w.Create(); err != nil { l.Fatal(fmt.Errorf("main: creating window failed: %w", err)) } a.Wait() } { "app_name": "test", "icon_path_darwin": "resources/icon.icns", "icon_path_linux": "resources/icon.png", "icon_path_windows": "resources/icon.ico" } --------------------------------------- delete windows.syso delete bind_windows_amd64.go --------------------------------------- C:\Users\liuhedong\go\example.com\test>astilectron-bundler cc 2022/12/29 20:22:35 Removing C:\Users\liuhedong\AppData\Local\Temp\astibundler\cache C:\Users\liuhedong\go\example.com\test>astilectron-bundler 2022/12/29 20:22:39 Bundling for environment windows/amd64 2022/12/29 20:22:39 Binding data 2022/12/29 20:22:39 Removing C:\Users\liuhedong\AppData\Local\Temp\astibundler\bind 2022/12/29 20:22:39 Creating C:\Users\liuhedong\AppData\Local\Temp\astibundler\bind 2022/12/29 20:22:39 Creating C:\Users\liuhedong\AppData\Local\Temp\astibundler\bind\vendor_astilectron_bundler 2022/12/29 20:22:39 Creating C:\Users\liuhedong\AppData\Local\Temp\astibundler\cache 2022/12/29 20:22:39 Downloading https://github.com/asticode/astilectron/archive/v0.55.0.zip into C:\Users\liuhedong\AppData\Local\Temp\astibundler\cache\astilectron-0.55.0.zip 2022/12/29 20:22:39 astikit: sending GET request to https://github.com/asticode/astilectron/archive/v0.55.0.zip (1/1) 2022/12/29 20:22:41 Copying C:\Users\liuhedong\AppData\Local\Temp\astibundler\cache\astilectron-0.55.0.zip to C:\Users\liuhedong\AppData\Local\Temp\astibundler\bind\vendor_astilectron_bundler\astilectron.zip 2022/12/29 20:22:41 Downloading https://github.com/electron/electron/releases/download/v11.4.3/electron-v11.4.3-win32-x64.zip into C:\Users\liuhedong\AppData\Local\Temp\astibundler\cache\electron-windows-amd64-11.4.3.zip 2022/12/29 20:22:41 astikit: sending GET request to https://github.com/electron/electron/releases/download/v11.4.3/electron-v11.4.3-win32-x64.zip (1/1) 2022/12/29 20:26:22 Copying C:\Users\liuhedong\AppData\Local\Temp\astibundler\cache\electron-windows-amd64-11.4.3.zip to C:\Users\liuhedong\AppData\Local\Temp\astibundler\bind\vendor_astilectron_bundler\electron.zip 2022/12/29 20:26:22 Creating C:\Users\liuhedong\AppData\Local\Temp\astibundler\bind\resources 2022/12/29 20:26:22 Copying C:\Users\liuhedong\go\example.com\test\resources to C:\Users\liuhedong\AppData\Local\Temp\astibundler\bind\resources 2022/12/29 20:26:22 Generating C:\Users\liuhedong\go\example.com\test\bind_windows_amd64.go 2022/12/29 20:26:26 Running rsrc for icon C:\Users\liuhedong\go\example.com\test\resources\icon.ico into C:\Users\liuhedong\go\example.com\test\windows.syso 2022/12/29 20:26:26 Removing C:\Users\liuhedong\go\example.com\test\output\windows-amd64 2022/12/29 20:26:26 Creating C:\Users\liuhedong\go\example.com\test\output\windows-amd64 2022/12/29 20:26:26 Building for os windows and arch amd64 astilectron: 0.55.0 electron: 11.4.3 2022/12/29 20:26:26 Executing go build -ldflags -H "windowsgui" -X "main.AppName=test" -X "main.BuiltAt=2022-12-29 20:26:26.0654017 +0800 +08 m=+226.224113101" -X "main.VersionAstilectron=0.55.0" -X "main.VersionElectron=11.4.3" -o C:\Users\liuhedong\go\example.com\test\output\windows-amd64\binary . 2022/12/29 20:26:56 Moving C:\Users\liuhedong\go\example.com\test\output\windows-amd64\binary to C:\Users\liuhedong\go\example.com\test\output\windows-amd64\test.exe
asticode commented 1 year ago

What logs do you see when you run test.exe through the terminal ?

liuhedong commented 1 year ago

Found it, in the C:\Users\liuhedong\AppData\Roaming\test\vendor directory, electron-windows-amd64-v11.4.3.zip cannot be downloaded.

liuhedong commented 1 year ago

The compilation includes electron, why do you need to download it?

asticode commented 1 year ago

Since you're using the bundler, you should use the bootstrap (check out the demo). In the code you've shared, you're not using the bootstrap, therefore bundler will be useless since it will download vendors every time.