Freigeben über


Informationen zur dynamischen Konfiguration in App-V 5.1

Letzte Aktualisierung: August 2015

Betrifft: Application Virtualization 5.1

Mithilfe der dynamischen Konfiguration können Sie ein App-V 5.1-Paket für einen Benutzer anpassen. Nutzen Sie folgende Informationen zum Erstellen oder Bearbeiten einer dynamischen Konfigurationsdatei.

Wenn Sie die dynamische Konfigurationsdatei bearbeiten, passt sie die Methode an, wie ein App-V 5.1-Paket für einen Benutzer oder eine Gruppe ausgeführt wird. Dies hilft, eine bequemere Methode für die Anpassung des Pakets bereitzustellen, indem die Notwendigkeit einer Neusequenzierung der Pakete mithilfe der gewünschten Einstellungen entfällt. Außerdem bleiben der Paketinhalt und die benutzerdefinierte Einstellungen dadurch unabhängig.

Erweitert: Dynamische Konfiguration

Virtuelle Anwendungspakete enthalten ein Manifest, das die wichtigsten Informationen für das Paket bereitstellt. Diese Informationen enthalten die Standardwerte für die Paketeinstellungen und sie bestimmen die Einstellungen in der einfachsten Form (ohne weitere Anpassung). Wenn Sie diese Standardwerte für einen bestimmten Benutzer oder eine Gruppe anpassen möchten, können Sie die folgenden Dateien erstellen und bearbeiten:

  • Benutzerkonfigurationsdatei

  • Bereitstellungskonfigurationsdatei

Die vorherigen XML-Dateien geben Paketeinstellungen an und ermöglichen das Anpassen von Paketen, ohne direkte Auswirkungen auf die Pakete zu haben. Wenn ein Paket erstellt wird, generiert der Sequencer anhand der Paketmanifestdaten automatisch eine standardmäßige Bereitstellung und XML-Dateien für die Benutzerkonfiguration. Diese automatisch generierten Konfigurationsdateien entsprechen daher einfach den Standardeinstellungen, die für das Paket von Natur aus während der Sequenzierung konfiguriert wurden. Wenn Sie diese Konfigurationsdateien auf ein Paket in der vom Sequencer generierten Form anwenden, entsprechen die Standardeinstellungen des Pakets denen des Manifests. Dadurch erhalten Sie eine paketspezifische Vorlage für den Einstieg, falls eine der Standardeinstellungen geändert werden muss.

Hinweis

Die folgenden Informationen können nur zum Ändern der vom Sequencer generierten Konfigurationsdateien verwendet werden, um die Pakete so anzupassen, dass sie den benutzer- oder gruppenspezifischen Anforderungen entsprechen.

Inhalt der dynamischen Konfigurationsdatei

Alle Hinzufügungen, Löschungen und Aktualisierungen in den Konfigurationsdateien müssen in Bezug auf die Standardwerte vorgenommen werden, die durch die Manifestinformationen des Pakets angegeben wurden. Überprüfen Sie die folgende Tabelle:

XML-Konfigurationsdatei für Benutzer

Bereitstellung der XML-Konfigurationsdatei

Paketmanifest

Die vorherige Tabelle stellt dar, wie die Dateien gelesen werden. Der erste Eintrag stellt dar, was zuletzt gelesen wird, dessen Inhalt hat daher Vorrang vor anderen. Alle Pakete enthalten daher grundsätzlich die Standardeinstellungen des Paketmanifests und stellen diese bereit. Wenn eine Bereitstellung der XML-Konfigurationsdatei mit angepassten Einstellungen angewendet wird, werden die Paketmanifest-Standardeinstellungen überschrieben. Wenn zuvor eine XML-Konfigurationsdatei für Benutzer mit angepassten Einstellungen angewendet wird, werden die Bereitstellungskonfiguration und die Paketmanifest-Standardeinstellungen überschrieben.

Die folgende Liste enthält weitere Informationen zu den zwei Dateitypen:

  • Benutzerkonfigurationsdatei (UserConfig): Hiermit können Sie benutzerdefinierte Einstellungen für ein Paket festlegen oder ändern. Diese Einstellungen werden bei der Bereitstellung des Pakets auf einem Computer, auf dem der App-V 5.1-Client ausgeführt wird, auf einen bestimmten Benutzer angewendet.

  • Bereitstellungskonfigurationsdatei (DeploymentConfig): Hiermit können Sie die Standardeinstellungen für ein Paket festlegen oder ändern. Diese Einstellungen werden bei der Bereitstellung des Pakets auf einem Computer, auf dem der App-V 5.1-Client ausgeführt wird, auf alle Benutzer angewendet.

Wenn Sie die Einstellungen eines Pakets für eine bestimmte Benutzergruppe eines Computers anpassen oder Änderungen vornehmen möchten, die auf Speicherorte für lokale Benutzer wie HKCU angewendet werden, verwenden Sie die Datei UserConfig. Wenn Sie die Standardeinstellungen eines Pakets für alle Benutzer eines Computers ändern oder Änderungen vornehmen möchten, die auf globale Speicherorte wie HKEY_LOCAL_MACHINE und den Ordner „Alle Benutzer“ angewendet werden, verwenden Sie die Datei DeploymentConfig.

Die Datei „UserConfig“ enthält Konfigurationseinstellungen, die auf einen einzelnen Benutzer angewendet werden können, ohne dass sie Auswirkungen auf andere Benutzer eines Clients haben:

  • Erweiterungen, die in das systemeigene System pro Benutzer integriert werden: Verknüpfungen, Dateitypzuordnungen, URL-Protokolle, Anwendungspfade, Softwareclients und COM

  • Virtuelle Subsysteme: Anwendungsobjekte, Umgebungsvariablen, Änderungen an der Registrierung, Dienste und Schriftarten

  • Skripts (nur Benutzerkontext)

  • Verwaltungsautorität (zur Steuerung der parallelen Ausführung des Pakets mit App-V 4.6)

Die Datei „DeploymentConfig“ enthält Konfigurationseinstellungen in zwei Abschnitten, wobei sich der eine auf den Computerkontext und der andere auf den Benutzerkontext bezieht und dieselben Funktionen umfasst, wie oben für die Datei „UserConfig“ aufgeführt:

  • Alle oben für „UserConfig“ genannten Einstellungen

  • Erweiterungen, die nur global auf alle Benutzer angewendet werden können

  • Virtuelle Subsysteme, die für globale Computerspeicherorte wie die Registrierung konfiguriert werden können

  • Quell-URL des Produkts

  • Skripts (nur Computerkontext)

  • Steuerungen zum Beenden untergeordneter Prozesse

Dateistruktur

Im folgenden Abschnitt wird die Struktur der dynamischen Konfigurationsdatei von App-V 5.1 erläutert.

Dynamische Benutzerkonfigurationsdatei

Header: Der Header einer dynamischen Benutzerkonfigurationsdatei sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8"?><UserConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="https://schemas.microsoft.com/appv/2010/userconfiguration">

Der Wert von PackageId stimmt mit dem Wert in der Manifestdatei überein.

Text: Der Text der dynamischen Benutzerkonfigurationsdatei enthält alle in der Manifestdatei definierten Erweiterungspunkte von Anwendungen sowie Informationen zur Konfiguration virtueller Anwendungen. Der Text kann vier Unterabschnitte enthalten:

  1. Applications: Alle Anwendungserweiterungen, die in der Manifestdatei in einem Paket enthalten sind, werden einer Anwendungs-ID zugeordnet, die ebenfalls in der Manifestdatei definiert ist. Auf diese Weise können Sie die Erweiterungen für eine bestimmte Anwendung in einem Paket aktivieren oder deaktivieren. Application ID muss in der Manifestdatei vorhanden sein, da sie sonst ignoriert wird.

    <UserConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="https://schemas.microsoft.com/appv/2010/userconfiguration">

    <Anwendungen>

    <!-- In der Richtlinie kann keine neue Anwendung definiert werden. Anwendungs-IDs die nicht auch in der Manifestdatei vorhanden sind, werden vom AppV-Client ignoriert. -->

    <Application Id="{a56fa627-c35f-4a01-9e79-7d36aed8225a}" Enabled="false">

    </Application>

    </Applications>

    </UserConfiguration>

  2. Subsystems: Anwendungserweiterungen und andere Subsysteme werden als Unterknoten angeordnet unter <Subsystems>:

    <UserConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="https://schemas.microsoft.com/appv/2010/userconfiguration">

    <Subsystems>

    ..

    </Subsystems>

    ..

    </UserConfiguration>

    Jedes Subsystem kann mithilfe des Attributs Enabled aktiviert/deaktiviert werden. Im Folgenden sind die verschiedenen Subsysteme sowie Verwendungsbeispiele aufgeführt.

    Erweiterungen:

    Mit einigen Subsystemen (Erweiterungssubsystemen) werden Erweiterungen gesteuert. Die Subsysteme sind: Verknüpfungen, Dateitypzuordnungen, URL-Protokolle, Anwendungspfade, Softwareclients und COM

    Erweiterungssubsysteme können unabhängig vom Inhalt aktiviert und deaktiviert werden. Wenn also Verknüpfungen aktiviert sind, werden vom Client standardmäßig die in der Manifestdatei enthaltenen Verknüpfungen verwendet. Jedes Erweiterungssubsystem kann einen Knoten <Extensions> enthalten. Wenn dieses untergeordnete Element vorhanden ist, wird der Inhalt der Manifestdatei für dieses Subsystem vom Client ignoriert und nur der Inhalt der Konfigurationsdatei verwendet.

    Beispiel für die Verwendung des Verknüpfungssubsystems:

    1. Wenn der Benutzer Folgendes in der dynamischen Konfigurationsdatei oder in der Bereitstellungskonfigurationsdatei definiert hat:

                                   <Shortcuts Enabled="true">

                                               <Extensions>

                                                ...

                                               </Extensions>

                                   </Shortcuts>

                        wird der Inhalt des Manifests ignoriert.   

    2. Wenn der Benutzer nur Folgendes definiert hat:

                                  <Shortcuts  Enabled="true"/>

                        wird der Inhalt im Manifest während der Veröffentlichung integriert.

    3. Wenn der Benutzer Folgendes definiert hat:

                                 <Shortcuts Enabled="true">

                                               <Extensions/>

                                   </Shortcuts>

    werden alle Verknüpfungen im Manifest trotzdem ignoriert. Es werden keine Verknüpfungen integriert.

    Folgende Erweiterungssubsysteme werden unterstützt:

    Verknüpfungen: Steuert Verknüpfungen, die in das lokale System integriert werden. Beispiel für zwei Verknüpfungen:

    <Subsystems>

    <Shortcuts Enabled="true">

      <Extensions>

        <Extension Category="AppV.Shortcut">

          <Verknüpfung>

            <File>[{Common Programs}]\Microsoft Contoso\Microsoft ContosoApp Filler 2010.lnk</File>

            <Target>[{PackageRoot}]\Contoso\ContosoApp.EXE</Target>

            <Icon>[{Windows}]\Installer\{90140000-0011-0000-0000-0000000FF1CE}\inficon.exe</Icon>

            <Arguments />

            <WorkingDirectory />

            <AppUserModelId>ContosoApp.Filler.3</AppUserModelId>

            <Description>Füllen Sie dynamische Formulare aus, um Informationen im gesamten Unternehmen mithilfe von Microsoft ContosoApp zu sammeln und wiederzuverwenden.</Description>

            <Hotkey>0</Hotkey>

            <ShowCommand>1</ShowCommand>

            <ApplicationId>[{PackageRoot}]\Contoso\ContosoApp.EXE</ApplicationId>

          </Shortcut>

      </Extension>

      <Extension Category="AppV.Shortcut">

        <Verknüpfung>

          <File>[{AppData}]\Microsoft\Contoso\Recent\Templates.LNK</File>

          <Target>[{AppData}]\Microsoft\Templates</Target>

          <Icon />

          <Arguments />

          <WorkingDirectory />

          <AppUserModelId />

          <Description />

          <Hotkey>0</Hotkey>

          <ShowCommand>1</ShowCommand>

          <!-- Die Anwendungs-ID kann optional angegeben werden. -->

        </Shortcut>

      </Extension>

     </Extensions>

    </Shortcuts>

    Dateitypzuordnungen: Ordnet Programmen Dateitypen zu, damit diese standardmäßig geöffnet werden und das Kontextmenü eingerichtet wird. (MIME-Typen können ebenfalls mithilfe dieses Subsystems eingerichtet werden). Im Folgenden ein Beispiel für eine Dateitypzuordnung:

    <FileTypeAssociations Enabled="true">

    <Extensions>

      <Extension Category="AppV.FileTypeAssociation">

        <FileTypeAssociation>

          <FileExtension MimeAssociation="true">

          <Name>.docm</Name>

          <ProgId>contosowordpad.DocumentMacroEnabled.12</ProgId>

          <PerceivedType>document</PerceivedType>

          <ContentType>application/vnd.ms-contosowordpad.document.macroEnabled.12</ContentType>

          <OpenWithList>

            <ApplicationName>wincontosowordpad.exe</ApplicationName>

          </OpenWithList>

         <OpenWithProgIds>

            <ProgId>contosowordpad.8</ProgId>

          </OpenWithProgIds>

          <ShellNew>

            <Command />

            <DataBinary />

            <DataText />

            <FileName />

            <NullFile>true</NullFile>

            <ItemName />

            <IconPath />

            <MenuText />

            <Handler />

          </ShellNew>

        </FileExtension>

        <ProgId>

           <Name>contosowordpad.DocumentMacroEnabled.12</Name>

            <DefaultIcon>[{Windows}]\Installer\{90140000-0011-0000-0000-0000000FF1CE}\contosowordpadicon.exe,15</DefaultIcon>

            <Description>Blah Blah Blah</Description>

            <FriendlyTypeName>[{FOLDERID_ProgramFilesX86}]\Microsoft Contoso 14\res.dll,9182</FriendlyTypeName>

            <InfoTip>[{FOLDERID_ProgramFilesX86}]\Microsoft Contoso 14\res.dll,1424</InfoTip>

            <EditFlags>0</EditFlags>

            <ShellCommands>

              <DefaultCommand>Open</DefaultCommand>

              <ShellCommand>

                 <ApplicationId>{e56fa627-c35f-4a01-9e79-7d36aed8225a}</ApplicationId>

                 <Name>Edit</Name>

                 <FriendlyName>&Edit</FriendlyName>

                 <CommandLine>"[{PackageRoot}]\Contoso\WINcontosowordpad.EXE" /vu "%1"</CommandLine>

              </ShellCommand>

              </ShellCommand>

                <ApplicationId>{e56fa627-c35f-4a01-9e79-7d36aed8225a}</ApplicationId>

                <Name>Open</Name>

                <FriendlyName>&Open</FriendlyName>

                <CommandLine>"[{PackageRoot}]\Contoso\WINcontosowordpad.EXE" /n "%1"</CommandLine>

                <DropTargetClassId />

                <DdeExec>

                  <Application>mscontosowordpad</Application>

                  <Topic>ShellSystem</Topic>

                  <IfExec>[SHELLNOOP]</IfExec>

                  <DdeCommand>[SetForeground][ShellNewDatabase "%1"]</DdeCommand>

                </DdeExec>

              </ShellCommand>

            </ShellCommands>

          </ProgId>

         </FileTypeAssociation>

       </Extension>

      </Extensions>

      </FileTypeAssociations>

    URL-Protokolle: Steuert die URL-Protokolle, die in die lokale Registrierung des Clientcomputers integriert sind, z. B. "mailto:".

    <URLProtocols Enabled="true">

    <Extensions>

    <Extension Category="AppV.URLProtocol">

    <URLProtocol>

      <Name>mailto</Name>

      <ApplicationURLProtocol>

      <DefaultIcon>[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE,-9403</DefaultIcon>

      <EditFlags>2</EditFlags>

      <Description />

      <AppUserModelId />

      <FriendlyTypeName />

      <InfoTip />

    <SourceFilter />

      <ShellFolder />

      <WebNavigableCLSID />

      <ExplorerFlags>2</ExplorerFlags>

      <CLSID />

      <ShellCommands>

      <DefaultCommand>open</DefaultCommand>

      <ShellCommand>

      <ApplicationId>[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE</ApplicationId>

      <Name>open</Name>

      <CommandLine>[{ProgramFilesX86}\Microsoft Contoso\Contoso\contosomail.EXE" -c OEP.Note /m "%1"</CommandLine>

      <DropTargetClassId />

      <FriendlyName />

      <Extended>0</Extended>

      <LegacyDisable>0</LegacyDisable>

      <SuppressionPolicy>2</SuppressionPolicy>

       <DdeExec>

      <NoActivateHandler />

      <Application>contosomail</Application>

      <Topic>ShellSystem</Topic>

      <IfExec>[SHELLNOOP]</IfExec>

      <DdeCommand>[SetForeground][ShellNewDatabase "%1"]</DdeCommand>

      </DdeExec>

      </ShellCommand>

      </ShellCommands>

      </ApplicationURLProtocol>

      </URLProtocol>

      </Extension>

      </Extension>

      </URLProtocols>

    Softwareclients: Hiermit kann die Anwendung als E-Mail-Client, Newsreader oder Media Player registriert und auf der Seite "Programmzugriff und Computerstandards festlegen" angezeigt werden. In den meisten Fällen müssen Sie sie nur aktivieren oder deaktivieren. Darüber hinaus gibt es eine Steuerung zum Aktivieren und Deaktivieren des E-Mail-Clients für den Fall, dass alle anderen Clients außer diesem aktiviert bleiben sollen.

    <SoftwareClients Enabled="true">

      <ClientConfiguration EmailEnabled="false" />

    </SoftwareClients>

    Anwendungspfade: Wenn eine Anwendung wie „contoso.exe“ mit dem Anwendungspfadnamen "myapp" registriert wurde, können Sie im Menü „Ausführen“ "myapp" eingeben, um „contoso.exe“ zu öffnen.

    <AppPaths Enabled="true">

    <Extensions>

    <Extension Category="AppV.AppPath">

    <AppPath>

      <ApplicationId>[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE</ApplicationId>

      <Name>contosomail.exe</Name>

      <ApplicationPath>[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE</ApplicationPath>

      <PATHEnvironmentVariablePrefix />

      <CanAcceptUrl>false</CanAcceptUrl>

      <SaveUrl />

    </AppPath>

    </Extension>

    </Extensions>

    </AppPaths>

    COM: Hiermit können für eine Anwendung lokale COM-Server registriert werden. Mögliche Modi sind „Integration“, „Isolated“, oder „Off“. Wenn „Isolated“:

    <COM Mode="Isolated"/>

    Weitere Einstellungen:

    Neben den Erweiterungen können andere Subsysteme aktiviert oder deaktiviert und bearbeitet werden:

    Virtuelle Kernelobjekte:

    <Objects Enabled="false" />

    Virtuelle Registrierung: Wird verwendet, wenn Sie eine Registrierung in der virtuellen Registrierung innerhalb von HKCU festlegen möchten.

    <Registry Enabled="true">

    <Include>

    <Key Path="\REGISTRY\USER\[{AppVCurrentUserSID}]\Software\ABC">

    <Value Type="REG_SZ" Name="Bar" Data="NewValue" />

     </Key>

      <Key Path="\REGISTRY\USER\[{AppVCurrentUserSID}]\Software\EmptyKey" />

     </Include>

    <Löschen>

      </Registry>

    Virtuelles Dateisystem

          <FileSystem Enabled="true" />

    Virtuelle Schriftarten

          <Fonts Enabled="false" />

    Virtuelle Umgebungsvariablen

    <EnvironmentVariables Enabled="true">

    <Include>

           <Variable Name="UserPath" Value="%path%;%UserProfile%" />

           <Variable Name="UserLib" Value="%UserProfile%\ABC" />

           </Include>

          <Löschen>

           <Variable Name="lib" />

            </Delete>

            </EnvironmentVariables>

    Virtuelle Dienste

          <Services Enabled="false" />

  3. UserScripts: Skripts können verwendet werden, um die virtuelle Umgebung einzurichten oder zu ändern und Skripts beim Bereitstellen oder Entfernen auszuführen, bevor eine Anwendung ausgeführt wird. Alternativ können sie verwendet werden, um die Umgebung nach der Beendigung der Anwendung zu bereinigen. Ein Beispielskript finden Sie im Beispiel für eine vom Sequencer ausgegebene Benutzerkonfigurationsdatei. Der folgende Abschnitt zu Skripts enthält ausführlichere Informationen zu verschiedenen Triggern, die verwendet werden können.

  4. ManagingAuthority: Kann verwendet werden, wenn zwei Versionen des Pakets parallel auf demselben Computer ausgeführt werden, wobei die eine für App-V 4.6 und die andere für App-V 5.0 bereitgestellt wird. Damit von App-V vNext App-V 4.6-Erweiterungspunkte für das benannte Paket übernommen werden können, geben Sie Folgendes in die Datei „UserConfig“ ein (wobei „PackageName“ für die Paket-GUID in App-V 4.6 steht):

    <ManagingAuthority TakeoverExtensionPointsFrom46="true" PackageName="032630c0-b8e2-417c-acef-76fc5297fe81" />

Dynamische Bereitstellungskonfigurationsdatei

Header: Der Header einer Bereitstellungskonfigurationsdatei sieht wie folgt aus:

<?xml version="1.0" encoding="utf-8"?><DeploymentConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="https://schemas.microsoft.com/appv/2010/deploymentconfiguration">

Der Wert von PackageId stimmt mit dem Wert in der Manifestdatei überein.

Text: Der Text der Bereitstellungskonfigurationsdatei enthält zwei Abschnitte:

  • Abschnitt zur Benutzerkonfiguration: Unterstützt denselben Inhalt wie die im vorherigen Abschnitt beschriebene Benutzerkonfigurationsdatei. Wenn das Paket für einen Benutzer veröffentlicht wird, werden die entsprechenden Einstellungen im Manifest innerhalb des Pakets mit den Einstellungen für die Konfiguration von Anwendungserweiterungen überschrieben, sofern keine Benutzerkonfigurationsdatei bereitgestellt wird. Wenn auch eine Datei „UserConfig“ bereitgestellt wird, wird diese anstelle der Benutzereinstellungen in der Bereitstellungskonfigurationsdatei verwendet. Wenn das Paket global veröffentlicht wird, werden nur die Inhalte der Bereitstellungskonfigurationsdatei zusammen mit dem Manifest verwendet.

  • Abschnitt zur Computerkonfiguration: Enthält Informationen, die nur für einen vollständigen Computer, nicht für einen bestimmten Benutzer des Computers konfiguriert werden können. Beispielsweise die HKEY_LOCAL_MACHINE-Registrierungsschlüssel im virtuellen Dateisystem.

<DeploymentConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="https://schemas.microsoft.com/appv/2010/deploymentconfiguration">

<UserConfiguration>

  ..

</UserConfiguration>

<MachineConfiguration>

..

</MachineConfiguration>

..

</MachineConfiguration>

</DeploymentConfiguration>

Benutzerkonfiguration: Informationen zu Einstellungen, die im Abschnitt zur Benutzerkonfiguration der Bereitstellungskonfigurationsdatei enthalten sind, finden Sie im Abschnitt Dynamische Benutzerkonfigurationsdatei weiter oben.

Computerkonfiguration: Der Abschnitt zur Computerkonfiguration in der Bereitstellungskonfigurationsdatei wird verwendet, um Informationen zu konfigurieren, die nur für einen vollständigen Computer, nicht jedoch für einen bestimmten Benutzer des Computers festgelegt werden können. Beispielsweise die HKEY_LOCAL_MACHINE-Registrierungsschlüssel in der virtuellen Registrierung. Dieses Element kann vier Unterabschnitte aufweisen:

  1. Subsystems: Anwendungserweiterungen und andere Subsysteme werden als Unterknoten angeordnet unter <Subsystems>:

    <MachineConfiguration>

      <Subsystems>

      ..

      </Subsystems>

    ..

    </MachineConfiguration>

    Im folgenden Abschnitt sind die verschiedenen Subsysteme sowie Verwendungsbeispiele aufgeführt.

    Erweiterungen:

    Mit einigen Subsystemen (Erweiterungssubsystemen) werden Erweiterungen gesteuert, die nur auf alle Benutzer angewendet werden können. Das Subsystem stellt Anwendungsfunktionen dar. Da es nur auf alle Benutzer angewendet werden kann, muss das Paket global veröffentlicht werden, damit diese Art der Erweiterung in das lokale System integriert wird. Die Regeln für Steuerungen und Einstellungen, die auf die Erweiterungen in der Benutzerkonfiguration angewendet werden, gelten auch für die im Abschnitt „MachineConfiguration“.

    Anwendungsfunktionen: Werden von Standardprogrammen in der Benutzeroberfläche von Windows-Betriebssystemen verwendet. Hier kann sich eine Anwendung selbst registrieren, die fähig ist, bestimmte Dateierweiterungen und MIME-Typen in Windows zu öffnen sowie als Kandidat für den Internetbrowserslot des Startmenüs zu fungieren:

    <ApplicationCapabilities Enabled="true">

      <Extensions>

       <Extension Category="AppV.ApplicationCapabilities">

        <ApplicationCapabilities>

         <ApplicationId>[{PackageRoot}]\LitView\LitViewBrowser.exe</ApplicationId>

         <Referenz>

          <Name>LitView Browser</Name>

          <Path>SOFTWARE\LitView\Browser\Capabilities</Path>

         </Reference>

       <CapabilityGroup>

        <Capabilities>

         <Name>@[{ProgramFilesX86}]\LitView\LitViewBrowser.exe,-12345</Name>

         <Description>@[{ProgramFilesX86}]\LitView\LitViewBrowser.exe,-12346</Description>

         <Hidden>0</Hidden>

         <EMailSoftwareClient>Lit View E-Mail Client</EMailSoftwareClient>

         <FileAssociationList>

          <FileAssociation Extension=".htm" ProgID="LitViewHTML" />

          <FileAssociation Extension=".html" ProgID="LitViewHTML" />

          <FileAssociation Extension=".shtml" ProgID="LitViewHTML" />

         </FileAssociationList>

         <MIMEAssociationList>

          <MIMEAssociation Type="audio/mp3" ProgID="LitViewHTML" />

          <MIMEAssociation Type="audio/mpeg" ProgID="LitViewHTML" />

         </MIMEAssociationList>

        <URLAssociationList>

          <URLAssociation Scheme="http" ProgID="LitViewHTML.URL.http" />

         </URLAssociationList>

         </Capabilities>

      </CapabilityGroup>

       </ApplicationCapabilities>

      </Extension>

    </Extensions>

    </ApplicationCapabilities>

    Weitere Einstellungen:

    Neben den Erweiterungen können andere Subsysteme bearbeitet werden:

    Computerweite virtuelle Registrierung: Wird verwendet, wenn Sie einen Registrierungsschlüssel in der virtuellen Registrierung innerhalb von HKEY_Local_Machine festlegen möchten.

    <Registrierung>

    <Include>

      <Key Path="\REGISTRY\Machine\Software\ABC">

        <Value Type="REG_SZ" Name="Bar" Data="Baz" />

       </Key>

      <Key Path="\REGISTRY\Machine\Software\EmptyKey" />

     </Include>

    <Löschen>

    </Registry>

    Computerweite virtuelle Kernelobjekte

    <Objects>

    <NotIsolate>

       <Object Name="testObject" />

     </NotIsolate>

    </Objects>

  2. ProductSourceURLOptOut: Gibt an, ob die URL für das Paket global über „PackageSourceRoot“ geändert werden kann (zur Unterstützung von Niederlassungen). Der Standardwert ist „false“, und die Einstellungsänderung wird beim nächsten Start wirksam.  

    <MachineConfiguration>

      .. 

      <ProductSourceURLOptOut Enabled="true" />

      ..

    </MachineConfiguration>

  3. MachineScripts: Das Paket kann so konfiguriert werden, dass Skripts beim Bereitstellen, Veröffentlichen oder Entfernen ausgeführt werden. Ein Beispielskript finden Sie im Beispiel für eine vom Sequencer generierte Bereitstellungskonfigurationsdatei. Der folgende Abschnitt zu Skripts enthält ausführlichere Informationen zu verschiedenen Triggern, die verwendet werden können.

  4. TerminateChildProcess: Es kann eine ausführbare Datei für eine Anwendung angegeben werden, deren untergeordnete Prozesse beendet werden, wenn der Ausführungsprozess der Anwendung beendet wird.

    <MachineConfiguration>

      ..   

      <TerminateChildProcesses>

        <Application Path="[{PackageRoot}]\Contoso\ContosoApp.EXE" />

        <Application Path="[{PackageRoot}]\LitView\LitViewBrowser.exe" />

        <Application Path="[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE" />

      </TerminateChildProcesses>

      ..

    </MachineConfiguration>

Skripts

In der folgenden Tabelle werden die verschiedenen Skriptereignisse sowie der Kontext beschrieben, unter dem sie ausgeführt werden können.

Skriptausführungszeit Kann in der Bereitstellungskonfiguration angegeben werden Kann in der Benutzerkonfiguration angegeben werden Kann in der virtuellen Umgebung des Pakets ausgeführt werden Kann im Kontext einer bestimmten Anwendung ausgeführt werden Wird im System-/Benutzerkontext ausgeführt: (Bereitstellungskonfiguration, Benutzerkonfiguration)

AddPackage

X

(SYSTEM, N/V)

PublishPackage

X

X

(SYSTEM, Benutzer)

UnpublishPackage

X

X

(SYSTEM, Benutzer)

RemovePackage

X

(SYSTEM, N/V)

StartProcess

X

X

X

X

(Benutzer, Benutzer)

ExitProcess

X

X

X

(Benutzer, Benutzer)

StartVirtualEnvironment

X

X

X

(Benutzer, Benutzer)

TerminateVirtualEnvironment

X

X

(Benutzer, Benutzer)

Verwenden mehrerer Skripts bei einem einzelnen Ereignisauslöser

App-V 5.1 unterstützt die Verwendung von mehreren Skripts bei einem einzelnen Ereignisauslöser für App-V-Pakete, einschließlich Paketen, die Sie aus App-V 4.6 in App-V 5.0 oder höher konvertieren. Um die Verwendung mehrerer Skripts zu aktivieren, verwendet App-V 5.1 eine Skriptstartprogramm-Anwendung namens "ScriptRunner.exe", die als Teil der App-V-Clientinstallation installiert wird.

Verwendung mehrerer Skripts mit einem einzelnen Ereignisauslöser:

Übergeben Sie für jedes Skript, das Sie ausführen möchten, das Skript als Argument an die "ScriptRunner.exe"-Anwendung. Die Anwendung führt dann jedes Skript einzeln aus, zusammen mit den Argumenten, die Sie für jedes Skript angeben. Verwenden Sie nur ein Skript (ScriptRunner.exe) pro Auslöser.

Hinweis

Wir hatten empfohlen, die Multiskriptzeile zuerst an einer Eingabeaufforderung auszuführen, um sicherzustellen, dass alle Argumente ordnungsgemäß aufgebaut sind, bevor Sie sie der Bereitstellungskonfigurationsdatei hinzufügen.

Beispielskript und Parameterbeschreibungen

Verwenden Sie die folgende Beispieldatei und -tabelle, und ändern Sie die Bereitstellungs- oder Benutzerkonfigurationsdatei so, dass Sie die Skripts hinzufügen, die Sie ausführen möchten.

<MachineScripts>
 <AddPackage>
   <Path>ScriptRunner.exe</Path>
   <Arguments>
   -appvscript script1.exe arg1 arg2 –appvscriptrunnerparameters –wait –timeout=10
   -appvscript script2.vbs arg1 arg2
   -appvscript script3.bat arg1 arg2 –appvscriptrunnerparameters –wait –timeout=30 –rollbackonerror
   </Arguments>
   <Wait timeout=”40” RollbackOnError=”true”/>
 </AddPackage>
</MachineScripts>

Parameter in der Beispieldatei Beschreibung

<AddPackage>

Name des Ereignisauslösers, für den Sie ein Skript ausführen, z. B. das Hinzufügen oder das Veröffentlichen eines Pakets.

<Path>ScriptRunner.exe</Path>

Die Skriptstartprogramm-Anwendung, die als Teil der Installation des App-V-Clients installiert wird.

Hinweis

Obgleich "ScriptRunner.exe" als Teil des App-V-Clients installiert wird, muss sich der Speicherort des App-V-Clients in %path% befinden, da ScriptRunner sonst nicht ausgeführt werden kann. "ScriptRunner.exe" befindet sich normalerweise im Ordner "C:\Programme\Microsoft Application Virtualization\Client".

<Arguments>
-appvscript script1.exe arg1 arg2 –appvscriptrunnerparameters –wait –timeout=10

-appvscript script2.vbs arg1 arg2

-appvscript script3.bat arg1 arg2 –appvscriptrunnerparameters –wait –timeout=30 -rollbackonerror </Arguments>

-appvscript – Das Token, das das eigentliche Skript darstellt, das Sie ausführen möchten.

script1.exe – Der Name des Skripts, das Sie ausführen möchten.

arg1 arg2 – Argumente für das Skript, das Sie ausführen möchten.

-appvscriptrunnerparameters – Das Token, das die Ausführungsoptionen für script1.exe darstellt.

-wait – Das Token, das ScriptRunner anweist, auf den Abschluss der Ausführung von script1.exe zu warten, bevor es mit dem nächsten Schritt fortfährt.

-timeout=x – Das Token, das ScriptRunner anweist, die Ausführung des aktuellen Skripts nach x Sekunden zu beenden. Alle anderen angegebenen Skripts werden weiterhin ausgeführt.

-rollbackonerror – Das Token, das ScriptRunner anweist, die Ausführung aller Skripts zu beenden, die noch nicht ausgeführt wurden, und ein Rollback mit einer Fehlermeldung an den App-V-Client durchzuführen.

<Wait timeout=”40” RollbackOnError=”true”/>

Wartet auf den gesamten Abschluss von "ScriptRunner.exe".

Legen Sie den Timeoutwert für die gesamte Ausführungsdatei auf mindestens die Summe der Timeoutwerte für die einzelnen Skripts fest.

Wenn jedes einzelne Skript einen Fehler gemeldet hat und "rollbackonerror" auf true festgelegt ist, meldet ScriptRunner den Fehler an den App-V-Client.

ScriptRunner führt alle Skripts aus, deren Dateityp einer auf dem Computer installierten Anwendung zugeordnet ist. Wenn die zugeordnete Anwendung fehlt oder der Dateityp des Skripts keiner Anwendung auf dem Computer zugeordnet ist, wird das Skript nicht ausgeführt.

Erstellen einer dynamischen Konfigurationsdatei mit einer App-V 5.1-Manifestdatei

Es gibt drei Möglichkeiten zum Erstellen der dynamischen Konfigurationsdatei: manuell, mithilfe der App-V 5.1-Verwaltungskonsole, oder durch Sequenzieren eines Pakets, das mit zwei Beispieldateien generiert wird.

Weitere Informationen zum Erstellen der Datei mithilfe der App-V 5.1 Management Console finden Sie unter So erstellen Sie mit der App-V 5.1-Verwaltungskonsole eine benutzerdefinierte Konfigurationsdatei:.

Wenn Sie die Datei manuell erstellen möchten, können Sie die Informationen in den vorherigen Abschnitten in einer Datei zusammenfügen. Es wird empfohlen, vom Sequencer generierte Dateien zu verwenden.

Haben Sie einen Vorschlag für App-V?

Fügen Sie hier Vorschläge hinzu, oder stimmen Sie über Vorschläge ab. Verwenden Sie bei Problemen mit App-V das App-V-TechNet-Forum.

Siehe auch

Aufgaben

Anwenden der Bereitstellungskonfigurationsdatei mithilfe von PowerShell
Anwenden der Benutzerkonfigurationsdatei mithilfe von PowerShell

Weitere Ressourcen

Vorgänge für App-V 5.1

-----
Sie erfahren mehr zu MDOP in der TechNet Library, können im TechNet-Wiki nach Problemlösungen suchen oder uns auf Facebook und Twitter folgen.
-----