github.com/AlpineAIO/wails/v2@v2.0.0-beta.32.0.20240505041856-1047a8fa5fef/internal/wv2installer/embed.go (about) 1 //go:build windows && wv2runtime.embed 2 // +build windows,wv2runtime.embed 3 4 package wv2installer 5 6 import ( 7 "fmt" 8 "github.com/AlpineAIO/wails/v2/internal/webview2runtime" 9 "github.com/AlpineAIO/wails/v2/pkg/options/windows" 10 ) 11 12 func doInstallationStrategy(installStatus installationStatus, messages *windows.Messages) error { 13 message := messages.InstallationRequired 14 if installStatus == needsUpdating { 15 message = messages.UpdateRequired 16 } 17 message += messages.PressOKToInstall 18 confirmed, err := webview2runtime.Confirm(message, messages.MissingRequirements) 19 if err != nil { 20 return err 21 } 22 if !confirmed { 23 return fmt.Errorf(messages.Webview2NotInstalled) 24 } 25 installedCorrectly, err := webview2runtime.InstallUsingEmbeddedBootstrapper() 26 if err != nil { 27 _ = webview2runtime.Error(err.Error(), messages.Error) 28 return err 29 } 30 if !installedCorrectly { 31 err = webview2runtime.Error(messages.FailedToInstall, messages.Error) 32 return err 33 } 34 return nil 35 }