Partager via


Labo 1f : ajouter des services Win32 à une image

Windows 10 IoT Standard prend en charge l’ajout d’un service Win32 NT à votre image.

Conditions préalables/conditions requises

Vérifiez que vous avez créé une image de base à partir de Créer une image de base.

Vous devrez installer les outils suivants pour terminer cette section :

  • Kit de déploiement et d'évaluation Windows (Windows ADK)

Notes

La version d’ADK utilisée doit correspondre à la version des packages IoT Core utilisés ci-dessous.

  • Packages Windows 10 IoT Standard
  • Environnement PowerShell IoT Core
  • IoT Core ADK Add-Ons
  • Un éditeur de texte comme le Bloc-notes ou VS Code

Ajouter une application Win32 Service à la génération de package

Pour inclure votre application de service Win32 dans le processus de génération d’image FFU, vous devez d’abord ajouter le fichier .EXE afin qu’il puisse être empaqueté (à l’aide buildpkgde ).

  1. Créez un sous-répertoire pour votre application de service Win32 sous C:\IoT\Workspaces\ContosoWS\Source-<arch>\Packages. Il contient les fichiers XML et EXE à inclure lors de la création de l’image. Par exemple, reportez-vous au sous-répertoire AzureDM.Services sur pour C:\IoT\Workspaces\ContosoWS\Source-<arch>\Packages\AzureDM.Services obtenir un exemple de travail.

  2. Créez un fichier XML intitulé <your Win32 Service App Name>.wm.xml dans le sous-répertoire que vous avez créé à partir de l’étape #1. Ce fichier spécifie la façon dont le package sera généré. Voici un exemple de ce à quoi ce fichier doit ressembler (vous devez remplacer les entrées appropriées par les informations de votre application de service Win32) :

<?xml version="1.0" encoding="utf-8"?>
<identity xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="Services"
namespace="AzureDM"
owner="$(OEMNAME)"
legacyName="$(OEMNAME).<your Win32 Service App Name>.Services" xmlns="urn:Microsoft.CompPlat/ManifestSchema.v1.00">
<onecorePackageInfo
targetPartition="MainOS"
releaseType="Production"
ownerType="OEM" />
<files>
<file
destinationDir="$(runtime.system32)"
source="<your Win32 Service App Name executable filename>" />
</files>
<service
name="<your Win32 Service App Name>"
start="auto"
type="win32OwnProcess"
objectName="LocalSystem"
errorControl="normal"
displayName="<your Win32 Service App Display Name>"
description="<your Win32 Service App Description>"
imagePath="<path and file name of your Win32 Service App>">
<failureActions
resetPeriod="86400">
<actions>
<action
type="restartService"
delay="1000" />
<action
type="restartService"
delay="1000" />
<action
type="restartService"
delay="1000" />
<action
type="none"
delay="0" />
</actions>
</failureActions>
</service>
</identity>

Notes

La <service> zone du fichier XML spécifie des informations spécifiques au service Win32. Si vous ajoutez une application Win32 (comme une application console), cette section peut être omise.

  1. Ajoutez votre fichier EXE au sous-répertoire à partir de l’étape 1. Il s’agit de votre exécutable d’application de service Win32.

Empaqueter l’application de service Win32

L’étape suivante consiste à empaqueter le fichier d’application de service Win32, ce qui vous permettra de le générer à l’aide du Windows ADK (lorsque vous générez l’image FFU).

  1. Ouvrez IoTCorePShell.cmd à partir de votre espace de travail. Il doit vous inviter à exécuter en tant qu’administrateur.
  2. Générez le package dans un fichier .CAB (à l’aide de New-IoTCabPackage)
New-IoTCabPackage <your Win32 Service App Name>
(or) buildpkg <your Win32 Service App Name>

Cela génère le package dans un fichier .CAB sous le \Build\<arch>\pkgs sous-répertoire de votre espace de travail.

Mettre à jour les fichiers de configuration de projet

Vous pouvez maintenant mettre à jour vos fichiers de configuration de produit pour inclure votre application dans la build d’image FFU.

  1. Ajoutez l’ID de fonctionnalité de votre package d’application à l’aide de Add-IoTProductFeature, en remplaçant par <your Win32 service app name> un identificateur pour votre application de service Win32 :
Add-IoTProductFeature <product name> Test <your Win32 service app name> -OEM
or addfid <product name> Test <your Win32 service app name> -OEM

Cela ajoute un FeatureID correspondant à l’identificateur que vous avez choisi pour votre application de service Win32.

Image de génération et de test

Générez à nouveau l’image FFU, comme spécifié dans Créer une image IoT Core de base. Vous devez uniquement exécuter la commande New-IoTFFUImage :

New-IoTFFUImage ProductX Test
(or)buildimage ProductX Test 

Une fois que le fichier FFU a été créé (il doit maintenant inclure votre application), vous pouvez le flasher sur votre appareil matériel comme spécifié dans Flashing a Windows IoT Core Image.

Étapes suivantes

Labo 1g : créer une image de vente au détail