# Windows

Cette page a divers guides liés au développement d'applications Wails pour Windows.

## Gestion de la dépendance d'exécution WebView2

Les applications Wails construites pour Windows ont une exigence d'exécution sur le runtime Microsoft [WebView2 Runtime](https://developer.microsoft.com/en-us/microsoft-edge/webview2/). Par défaut, Windows 11 l'a d'installé mais certaines machines ne l'ont pas. Wails offre une approche facile pour gérer cette dépendance.

En utilisant l'option `-webview2` lors de la construction, vous pouvez décider ce que votre application fera quand un runtime approprié n'est pas détecté (y compris si le runtime installé est trop ancien). Les quatre options sont :

1. Download
2. Embed
3. Navigateur
4. Error

### Download

Cette option demandera à l'utilisateur qu'aucun runtime approprié n'a été trouvé et proposera ensuite de télécharger et d'exécuter le bootstrapper officiel depuis le site WebView2 de Microsoft. Si l'utilisateur continue, le bootstrapper officiel sera téléchargé et exécuté.

### Embed

Cette option intègre le bootstrapper officiel dans l'application. Si aucun runtime approprié n'a été trouvé, l'application proposera d'exécuter le bootstrapper. Cela ajoute ~150k à la taille du binaire.

### Navigateur

Cette option demandera à l'utilisateur qu'aucun runtime approprié n'a été trouvé et proposera ensuite d'ouvrir un navigateur à la page officielle WebView2 où le bootstrapper peut être téléchargé et installé. L'application quittera alors en laissant l'installation à l'utilisateur.

### Error

Si aucun runtime approprié n'est trouvé, une erreur sera transmise à l'utilisateur et aucune autre action ne sera prise.

## Version du runtime fixe

Une autre façon de gérer la dépendance de webview2 est de l'intégrer vous-même. Vous pouvez télécharger [une version du runtime](https://developer.microsoft.com/microsoft-edge/webview2/#download-section) et l'intégrer avec votre application.

En outre, vous devez spécifier le chemin vers la version corrigée de webview2 runtime dans la structure `windows.Options` lors du lancement de wails.

```go
    wails.Run(&options.App{
        Windows: &windows.Options{
            WebviewBrowserPath:  "",
        },
    })
```

Note: Quand `WebviewBrowserPath` est spécifié, une ` strategy error` sera lancée si la version minimale à utiliser n'est pas requise ou si le chemin vers le runtime est incorrect.

The downloaded file will be compressed (extension `.cab`), so you must extract it before using it, according to the instructions on the [official site](https://learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution#details-about-the-fixed-version-runtime-distribution-mode) should run in a terminal the following command to extract the file:

```
expand {path to the package} -F:* {path to the destination folder}
```

## Faire apparaître d'autres programmes

Lorsque vous faites apparaître d'autres programmes, comme des scripts, vous verrez apparaître la fenêtre à l'écran. Pour masquer la fenêtre, vous pouvez utiliser le code suivant :

```go
cmd := exec.Command("your_script.exe")
cmd.SysProcAttr = &syscall.SysProcAttr{
    HideWindow:    true,
    CreationFlags: 0x08000000,
}
cmd.Start()
```

Solution fournie par [sithembiso](https://github.com/sithembiso) dans les [discussions GitHub](https://github.com/wailsapp/wails/discussions/1734#discussioncomment-3386172).
