

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Installation d'un package sur une instance Windows
<a name="cookbooks-101-opsworks-install-software-package"></a>

**Important**  
Le AWS OpsWorks Stacks service a pris fin le 26 mai 2024 et a été désactivé tant pour les nouveaux clients que pour les clients existants. Nous recommandons vivement aux clients de migrer leurs charges de travail vers d'autres solutions dès que possible. Si vous avez des questions sur la migration, contactez l' AWS Support équipe sur [AWS Re:Post](https://repost.aws/) ou via le [AWS Support](https://aws.amazon.com/support) Premium.

**Note**  
Cet exemple suppose que vous avez déjà fait l'exemple [Exécution d'une recette sur une instance Windows](cookbooks-101-opsworks-opsworks-windows.md). Si tel n'est pas le cas, commencez par cet exemple. Il décrit plus particulièrement comment autoriser l'accès RDP à vos instances.

Si votre logiciel est fourni dans un package d'installation, par exemple un fichier MSI, vous devez télécharger le fichier dans l'instance, puis l'exécuter. Cet exemple montre comment implémenter un livre de recettes pour installer un package MSI, l'exécution de Python, y compris la façon de définir des variables d'environnement associées. Pour plus d'informations sur l'installation des fonctionnalités de Windows telles qu'IIS, consultez [Installation d'une fonctionnalité de Windows : IIS](cookbooks-101-opsworks-install-software-feature.md).

**Pour configurer le livre de recettes**

1. Créez un répertoire nommé `installpython` et accédez à celui-ci.

1. Ajoutez un fichier `metadata.rb` à `installpython` avec le contenu suivant.

   ```
   name "installpython"
   version "0.1.0"
   ```

1. Ajoutez les répertoires `recipes` et `files` à `installpython`, et ajoutez un répertoire `default` aux fichiers.

1. Téléchargez un package Python à partir de [Versions Python pour Windows](https://www.python.org/downloads/windows/) et copiez-le dans le répertoire `files\default` du livre de recettes. Cet exemple installe la version Windows x86- de Python 3.5.0a3, qui utilise un programme d'installation nommé `python-3.4.3.amd64.msi`.

1. Ajoutez un fichier nommé `default.rb` au répertoire `recipes` avec le code suivant de la recette.

   ```
   directory 'C:\tmp' do
     rights :full_control, 'Everyone'
     recursive true
     action :create
   end
   
   cookbook_file 'C:\tmp\python-3.4.3.amd64.msi' do
     source "python-3.4.3.amd64.msi"
     rights :full_control, 'Everyone'
     action :create
   end
   
   windows_package 'python' do
     source 'C:\tmp\python-3.4.3.amd64.msi'
     action :install
   end
   
   env "PATH" do
     value 'c:\python34'
     delim ";"
     action :modify
   end
   ```

   La recette exécute les tâches suivantes :

   1. Utilisez une ressource [directory](https://docs.chef.io/chef/resources.html#directory) pour créer un répertoire `C:\tmp`.

      Pour plus d'informations sur cette ressource, consultez [Exemple 3 : Création de répertoires](cookbooks-101-basics-directories.md).

   1. Utilisez une ressource [cookbook\$1file](https://docs.chef.io/chef/resources.html#cookbook-file) pour copier le programme d'installation du répertoire `files\default` du livre de recettes vers `C:\tmp`.

      Pour plus d'informations sur cette ressource, consultez [Installation d'un fichier à partir d'un livre de recettes](cookbooks-101-basics-files.md#cookbooks-101-basics-files-cookbook_file).

   1. Utilise une ressource [windows\$1package](https://docs.chef.io/chef/resources.html#windows-package) pour exécuter le programme d'installation MSI, qui installe Python sur `c:\python34`.

      Le programme d'installation crée les répertoires nécessaires et installe les fichiers, mais il ne modifie pas la variable d'environnement `PATH` du système.

   1. Utilise une ressource [env](https://docs.chef.io/chef/resources.html#env) pour ajouter `c:\python34` au chemin d'accès système.

      La ressource env vous permet de définir des variables d'environnement. Dans ce cas, la recette vous permet d'exécuter facilement des scripts Python à partir de la ligne de commande en ajoutant `c:\python34` au chemin d'accès.
      + Le nom de la ressource spécifie le nom de la variable d'environnement, `PATH` pour cet exemple.
      + L'attribut `value` spécifie la valeur de la variable, `c:\\python34` pour cet exemple (vous avez besoin d'échapper le caractère `\`).
      + L'action `:modify` ajoute la valeur spécifiée à la valeur actuelle de la variable.
      + L'attribut `delim` spécifie un délimiteur qui sépare la nouvelle valeur de la valeur existante, à savoir `;` pour cet exemple.

1. Créez une archive `.zip` du fichier `installpython`, chargez l'archive dans un compartiment S3 et rendez-la publique. Enregistrez l'URL de l'archive pour une utilisation ultérieure. Pour de plus amples informations, veuillez consulter [Référentiels de livres de recettes](workingcookbook-installingcustom-repo.md).

   Le contenu livré aux compartiments Amazon S3 peut contenir du contenu client. Pour plus d'informations sur la suppression de données sensibles, consultez [How Do I Empty an S3 Bucket?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.html) (Comment puis-je vider un compartiment S3 ?) ou [How Do I Delete an S3 Bucket?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html) (Comment supprimer un compartiment S3 ?).

Créez une pile pour cet exemple, comme suit. Vous pouvez aussi utiliser une pile Windows existante. Il vous suffit de mettre à jour les livres de recettes, comme décrit plus tard.

**Création d’une pile**

1. Ouvrez la [console OpsWorks Stacks](https://console.aws.amazon.com/opsworks/) et choisissez **Add Stack (Ajouter une pile)**. Spécifiez les paramètres suivants, acceptez les valeurs par défaut pour les autres paramètres et choisissez **Add Stack (Ajouter une pile)**.
   + **Nom** — InstallPython
   + **Région** — Ouest des États-Unis (Oregon)

     Cet exemple fonctionne dans n'importe quelle région, mais nous vous recommandons d'utiliser US West (Oregon) pour les didacticiels.
   + **Système d'exploitation par défaut** : Microsoft Windows Server 2012 R2

1. Choisissez **Add a layer (Ajouter une couche)** et [ajoutez une couche personnalisée](workinglayers-custom.md) à la pile avec les paramètres suivants.
   + **Nom** — Python
   + **Nom court** — python

1. [Ajoutez une instance 24/7](workinginstances-add.md) avec les paramètres par défaut de la couche Python et [démarrez-la](workinginstances-starting.md).

Une fois que l'instance est en ligne, vous pouvez installer le livre de recettes et exécuter la recette

**Pour installer le livre de recettes et exécuter la recette**

1. [Modifiez la pile pour activer les livres personnalisés](workingcookbook-installingcustom-enable.md) et spécifiez les paramètres suivants.
   + **Type de référentiel** : **archive S3**.
   + **URL du référentiel : URL** de l'archive du livre de recettes que vous avez enregistrée précédemment.

   Acceptez les valeurs par défaut pour les autres paramètres, puis choisissez **Save (Enregistrer)** pour mettre à jour la configuration de la pile.

1. [Exécutez la commande de pile **Update Custom Cookbooks (Mettre à jour les livres de recettes personnalisées)**](workingstacks-commands.md), qui installe la dernière version de vos livres de recettes personnalisées sur les instances en ligne de la pile. Si une version antérieure de votre livre de recettes est présente, cette commande la remplace.

1. Exécutez la recette à l'aide de la commande de pile **Execute Recipes (Exécuter les recettes)** après avoir défini **Recipes to execute (Recettes à exécuter)** sur **installpython::default**. Cette commande lance une exécution de Chef, avec une liste d'exécution composée de `installpython::default`.
**Note**  
Cet exemple utilise **Execute Recipes** pour des raisons pratiques, mais OpsWorks Stacks [exécute généralement vos recettes automatiquement](workingcookbook-assigningcustom.md) en les affectant à l'événement du cycle de vie approprié. Vous pouvez exécuter ces recettes en déclenchant manuellement l'événement. Vous pouvez utiliser une commande de pile pour déclencher des événements Setup et Configure et une [commande de déploiement](workingapps-deploying.md) pour déclencher des événements Deploy et Undeploy.

1. Pour vérifier l'installation, [utilisez RDP afin de vous connecter à l'instance](workinginstances-rdp.md) et ouvrez l'Explorateur Windows. 
   + Le système de fichiers doit maintenant comporter un répertoire `C:\Python34`.
   + Si vous exécutez `path` à partir de la ligne de commande, il doit ressembler à : `PATH=c:\python34;C:\Windows\system32;...`
   + Si vous exécutez `python --version` à partir de la ligne de commande, il doit retourner `Python 3.4.3`.