github.com/AlpineAIO/wails/v2@v2.0.0-beta.32.0.20240505041856-1047a8fa5fef/internal/wv2installer/download.go (about) 1 //go:build windows && !wv2runtime.error && !wv2runtime.browser && !wv2runtime.embed 2 // +build windows,!wv2runtime.error,!wv2runtime.browser,!wv2runtime.embed 3 4 package wv2installer 5 6 import ( 7 "fmt" 8 9 "github.com/AlpineAIO/wails/v2/internal/webview2runtime" 10 "github.com/AlpineAIO/wails/v2/pkg/options/windows" 11 ) 12 13 func doInstallationStrategy(installStatus installationStatus, messages *windows.Messages) error { 14 message := messages.InstallationRequired 15 if installStatus == needsUpdating { 16 message = messages.UpdateRequired 17 } 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.InstallUsingBootstrapper() 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 }