

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Installieren eines Pakets auf einer Windows-Instance
<a name="cookbooks-101-opsworks-install-software-package"></a>

**Wichtig**  
Der AWS OpsWorks Stacks Dienst hat am 26. Mai 2024 das Ende seiner Lebensdauer erreicht und wurde sowohl für neue als auch für bestehende Kunden deaktiviert. Wir empfehlen Kunden dringend, ihre Workloads so bald wie möglich auf andere Lösungen zu migrieren. Wenn Sie Fragen zur Migration haben, wenden Sie sich an das AWS Support Team auf [AWS re:POST](https://repost.aws/) oder über den [AWS Premium-Support](https://aws.amazon.com/support).

**Anmerkung**  
In diesem Beispiel wird davon ausgegangen, dass Sie das Beispiel [Ausführen eines Rezepts auf einer Windows-Instance](cookbooks-101-opsworks-opsworks-windows.md) bereits durchgearbeitet haben. Falls Sie das noch nicht getan haben, holen Sie das nun nach. Insbesondere wird darin beschrieben, wie Sie für Ihre Instances RDP-Zugriff aktivieren.

Wenn die Software über ein Installationsprogramm wie eine MSI-Datei verfügt, müssen Sie diese Datei auf die Instance herunterladen und dort ausführen. In diesem Beispiel wird gezeigt, wie Sie ein Rezeptbuch implementieren, um ein MSI-Paket, die Python-Laufzeitumgebung, zu installieren und die zugehörigen Umgebungsvariablen zu konfigurieren. Weitere Informationen zum Installieren von Windows-Funktionen wie IIS finden Sie unter [Installieren einer Windows-Funktion: IIS](cookbooks-101-opsworks-install-software-feature.md).

**So richten Sie das Rezeptbuch ein**

1. Erstellen Sie ein Verzeichnis `installpython` und öffnen Sie es.

1. Fügen Sie eine Datei `metadata.rb` zu `installpython` mit dem folgenden Inhalt hinzu:

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

1. Fügen Sie die Verzeichnisse `recipes` und `files` zu `installpython` hinzu und fügen Sie ein Verzeichnis `default` zu "files" hinzu.

1. Laden Sie ein Python-Paket für Windows von der [Python-Website](https://www.python.org/downloads/windows/) in das Verzeichnis `files\default` des Rezeptbuchs herunter. In diesem Beispiel wird 3.5.0a3 für Windows x86- mithilfe der MSI-Datei `python-3.4.3.amd64.msi`python-64. installiert.

1. Erstellen Sie im Verzeichnis `default.rb` eine Datei `recipes` mit folgendem Rezeptcode.

   ```
   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
   ```

   Vom Rezept werden folgende Schritte ausgeführt:

   1. Es verwendet eine [Verzeichnis](https://docs.chef.io/chef/resources.html#directory)-Ressource, um ein Verzeichnis `C:\tmp` zu erstellen.

      Weitere Informationen zu dieser Ressource finden Sie unter [Beispiel 3: Erstellen von Verzeichnissen](cookbooks-101-basics-directories.md).

   1. Es verwendet eine [cookbook\$1file](https://docs.chef.io/chef/resources.html#cookbook-file)-Ressource, um das Installationsprogramm aus dem Verzeichnis `files\default` des Rezeptbuchs in das Verzeichnis `C:\tmp` zu kopieren.

      Weitere Informationen zu dieser Ressource finden Sie unter [Installieren einer Datei mithilfe eines Rezeptbuchs](cookbooks-101-basics-files.md#cookbooks-101-basics-files-cookbook_file).

   1. Es verwendet eine [windows\$1package](https://docs.chef.io/chef/resources.html#windows-package)-Ressource, um das MSI-Installationsprogramm auszuführen und Python unter `c:\python34` zu installieren.

      Das Installationsprogramm erstellt die erforderlichen Verzeichnisse und installiert die Dateien. Es nimmt jedoch keine Änderungen an der Umgebungsvariable `PATH` des Systems vor.

   1. Es verwendet eine [env](https://docs.chef.io/chef/resources.html#env)-Ressource, um `c:\python34` zum Systempfad hinzuzufügen.

      Mit der Ressource "env" werden Umgebungsvariablen festgelegt. In diesem Fall können Sie mit dem Rezept einfach Python-Skripte auf der Befehlszeile ausführen, indem Sie `c:\python34` im Systempfad einfügen.
      + Der Ressourcenname gibt den Namen der Umgebungsvariablen an, in diesem Beispiel `PATH`.
      + Über das Attribut `value` wird der Wert der Variablen, in diesem Beispiel `c:\\python34` festgelegt (Sie müssen vor das Zeichen `\` "\$1" setzen).
      + Mit der Aktion `:modify` wird der angegebene Wert dem aktuellen Wert der Variablen vorangestellt.
      + Das Attribut `delim` setzt ein Trennzeichen, um den neuen Wert von dem vorhandenen Wert zu trennen, in diesem Beispiel `;`.

1. Erstellen Sie ein `.zip`-Archiv von `installpython`, laden Sie das Archiv in einen S3-Bucket hoch und veröffentlichen Sie es. Notieren Sie sich die URL des Archivs. Weitere Informationen finden Sie unter [Rezeptbuch-Repositorys](workingcookbook-installingcustom-repo.md).

   Inhalte, die an Amazon-S3-Buckets geliefert werden, können Kundeninhalte enthalten. Weitere Informationen zum Entfernen sensibler Daten finden Sie unter [Wie entleere ich einen S3 Bucket?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/empty-bucket.html) oder [Wie lösche ich einen S3 Bucket?](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-bucket.html).

Erstellen Sie wie folgt einen Stack für dieses Beispiel. Sie können auch einen vorhandenen Windows-Stack verwenden. Aktualisieren Sie dafür einfach wie nachfolgend beschrieben die Rezeptbücher.

**Erstellen eines Stacks**

1. Öffnen Sie die [OpsWorks  Stacks-Konsole](https://console.aws.amazon.com/opsworks/) und wählen Sie **Add Stack (Stack hinzufügen)** aus. Legen Sie die folgenden Einstellungen fest, übernehmen Sie für die restlichen Einstellungen die Standardwerte und wählen Sie **Add Stack (Stack hinzufügen)** aus.
   + **Name —** InstallPython
   + **Region** — USA West (Oregon)

     Dieses Beispiel funktioniert in jeder Region, wir empfehlen jedoch, US West (Oregon) für Tutorials zu verwenden.
   + **Standardbetriebssystem** — Microsoft Windows Server 2012 R2

1. Wählen Sie **Add a layer (Layer hinzufügen)** aus und [fügen Sie dem Stack einen benutzerdefinierten Layer](workinglayers-custom.md) mit folgenden Einstellungen hinzu:
   + **Bezeichnung** — Python
   + **Kurzname** — Python

1. Fügen Sie dem Python-Layer [eine 24/7-Instance](workinginstances-add.md) mit den Standardeinstellungen hinzu und [starten Sie sie](workinginstances-starting.md).

Nachdem die Instance online ist, können Sie das Rezeptbuch installieren und das Rezept ausführen.

**So installieren Sie das Rezeptbuch und führen das Rezept aus**

1. [Bearbeiten Sie den Stack, um benutzerdefinierte Rezeptbücher zu aktivieren](workingcookbook-installingcustom-enable.md), und legen Sie folgende Einstellungen fest:
   + **Repository-Typ** — **S3-Archiv**.
   + **Repository-URL** — Die Archiv-URL des Kochbuches, die Sie zuvor aufgezeichnet haben.

   Übernehmen Sie für die übrigen Einstellungen die Standardwerte und wählen Sie **Save** aus, um die Stack-Konfiguration zu aktualisieren und zu speichern.

1. [Führen Sie den Stack-Befehl **Update Custom Cookbooks** aus](workingstacks-commands.md), um die aktuelle Version Ihrer benutzerdefinierten Rezeptbücher auf den Online-Instances des Stacks zu installieren. Wenn bereits eine ältere Version des Rezeptbuchs installiert ist, wird dieses überschrieben.

1. Führen Sie das Rezept aus, indem Sie den Stack-Befehl **Execute Recipes** ausführen. Achten Sie darauf, dass bei **Recipes to execute** **installpython::default** eingestellt ist. Durch diesen Befehl wird Chef mit der Option `installpython::default` ausgeführt.
**Anmerkung**  
In diesem Beispiel wird der Einfachheit halber **Execute Recipes** verwendet, aber normalerweise lassen Sie OpsWorks Stacks [Ihre Rezepte automatisch ausführen](workingcookbook-assigningcustom.md), indem Sie sie dem entsprechenden Lebenszyklusereignis zuweisen. Sie können diese Rezepte auch durch manuelles Auslösen des Ereignisses ausführen. Verwenden Sie für Einrichtungs- und Konfigurationsereignisse einen Stack-Befehl und für Bereitstellungsereignisse und für Ereignisse zum Aufheben der Bereitstellung einen [Bereitstellungsbefehl](workingapps-deploying.md).

1. Um die Installation zu überprüfen, [melden Sie sich mit RDP bei der Instance an](workinginstances-rdp.md) und öffnen Sie den Windows Explorer. 
   + Das Dateisystem sollte jetzt über ein Verzeichnis `C:\Python34` verfügen.
   + Wenn Sie auf der Befehlszeile `path` ausführen, sollte das Ergebnis etwa wie folgt aussehen: `PATH=c:\python34;C:\Windows\system32;...`
   + Wenn Sie auf der Befehlszeile `python --version` ausführen, sollte `Python 3.4.3` zurückgegeben werden.