github.com/AlpineAIO/wails/v2@v2.0.0-beta.32.0.20240505041856-1047a8fa5fef/internal/system/system_windows.go (about)

     1  //go:build windows
     2  // +build windows
     3  
     4  package system
     5  
     6  import (
     7  	"github.com/AlpineAIO/wails/v2/internal/system/operatingsystem"
     8  	"github.com/AlpineAIO/wails/v2/internal/system/packagemanager"
     9  	"github.com/wailsapp/go-webview2/webviewloader"
    10  )
    11  
    12  func (i *Info) discover() error {
    13  
    14  	var err error
    15  	osinfo, err := operatingsystem.Info()
    16  	if err != nil {
    17  		return err
    18  	}
    19  	i.OS = osinfo
    20  
    21  	i.Dependencies = append(i.Dependencies, checkWebView2())
    22  	i.Dependencies = append(i.Dependencies, checkNodejs())
    23  	i.Dependencies = append(i.Dependencies, checkNPM())
    24  	i.Dependencies = append(i.Dependencies, checkUPX())
    25  	i.Dependencies = append(i.Dependencies, checkNSIS())
    26  	// i.Dependencies = append(i.Dependencies, checkDocker())
    27  
    28  	return nil
    29  }
    30  
    31  func checkWebView2() *packagemanager.Dependency {
    32  	version, _ := webviewloader.GetAvailableCoreWebView2BrowserVersionString("")
    33  	installed := version != ""
    34  
    35  	return &packagemanager.Dependency{
    36  		Name:           "WebView2 ",
    37  		PackageName:    "N/A",
    38  		Installed:      installed,
    39  		InstallCommand: "Available at https://developer.microsoft.com/en-us/microsoft-edge/webview2/",
    40  		Version:        version,
    41  		Optional:       false,
    42  		External:       true,
    43  	}
    44  
    45  }