Windows 系统
此页面包含了在 Windows 上开发 Wails 应用程序相关的其他指南。
处理 WebView2 运行时依赖
为 Windows 构建 Wails 应用程序时对 Microsoft WebView2 运行时有要求。 默认情况下,Windows 11 会安装它,但有些机器不会。 Wails 提供了一种简单的方法来处理这种依赖关系。
通过在构建时使用-webview2
标志,您可以决定在未检测到合适的运行时的时候(包括安装的运行时是否太旧)应用程序将执行的操作。 四个选项是:
- Download(下载)
- Embed(内嵌)
- Browser(浏览器)
- Error(错误)
Download(下载)
此选项将提示用户在未找到合适的运行时时,提供从 Microsoft 的 WebView2 官方站点下载并运行引导程序。 如果用户继续,官方引导程序将被下载并运行。
Embed(内嵌)
此选项将官方引导程序嵌入到应用程序中。 如果没有找到合适的运行时,应用程序将提供并运行引导程序。 这将使二进制大小增加约 150k。
Browser(浏览器)
此选项将提示用户没有找到合适的运行时时,提供打开浏览器到 WebView2 官方页面,可以下载和安装引导程序。 然后应用程序将会退出,安装的操作留给用户。
Error(错误)
如果未找到合适的运行时间,则会向用户显示错误并且不采取进一步措施。
Fixed version runtime
Another way of dealing with webview2 dependency is shipping it yourself. Another way of dealing with webview2 dependency is shipping it yourself. You can download fixed version runtime and bundle or download it with your application. Another way of dealing with webview2 dependency is shipping it yourself. You can download fixed version runtime and bundle or download it with your application.
Also, you should specify path to fixed version of webview2 runtime in the windows.Options
structure when launching wails.
wails.Run(&options.App{
Windows: &windows.Options{
WebviewBrowserPath: "",
},
})
Note: When WebviewBrowserPath
is specified, error
strategy will be forced in case of minimal required version mismatch or invalid path to a runtime.
Spawning other programs
When spawning other programs, such as scripts, you will see the window appear on the screen. To hide the window, you can use the following code:
cmd := exec.Command("your_script.exe")
cmd.SysProcAttr = &syscall.SysProcAttr{
HideWindow: true,
CreationFlags: 0x08000000,
}
cmd.Start()
Solution provided by sithembiso on the discussions board.