Informationen zur dynamischen Konfiguration von App-V 5.1

Mit der dynamischen Konfiguration können Sie die dynamische Konfigurationsdatei bearbeiten, um anzupassen, wie ein App-V 5.1-Paket für einen Benutzer oder eine Gruppe ausgeführt wird. Durch die Paketanpassung müssen Pakete nicht mehr mit den gewünschten Einstellungen erneut angesetzt werden. Es bietet auch eine Möglichkeit, Paketinhalte und benutzerdefinierte Einstellungen unabhängig zu halten.

Virtuelle Anwendungspakete enthalten ein Manifest, das alle Kerninformationen für das Paket bereitstellt. Diese Informationen enthalten die Standardwerte für die Paketeinstellungen und bestimmen Einstellungen in der einfachsten Form (ohne zusätzliche Anpassung).

Wenn ein Paket erstellt wird, generiert der Sequencer die Standardbereitstellung und Benutzerkonfiguration .xml Dateien automatisch mithilfe der Paketmanifestdaten. Daher spiegeln diese generierten Dateien die Standardeinstellungen wider, die während der Sequenzierung konfiguriert wurden. Wenn Sie diese Dateien auf ein Paket in dem vom Sequenzer generierten Formular anwenden, verfügen die Pakete über die gleichen Standardeinstellungen, die aus ihrem Manifest stammen.

Verwenden Sie diese generierten Dateien, um bei Bedarf Änderungen vorzunehmen, die sich nicht direkt auf das Paket auswirken. Wenn Sie die Konfigurationsdateien hinzufügen, löschen oder aktualisieren möchten, nehmen Sie Ihre Änderungen an den Standardwerten in den Manifestinformationen vor.

Tipp

Die Reihenfolge, in der die Dateien gelesen werden, lautet:

  • UserConfig.xml
  • DeploymentConfig.xml
  • Manifest

Der erste Eintrag gibt an, was zuletzt gelesen wird. Daher hat der Inhalt Vorrang, und alle Pakete enthalten standardmäßige Einstellungen aus dem Paketmanifest und stellen diese bereit.

  1. Wenn Sie die DeploymentConfig.xml Datei anpassen und die angepassten Einstellungen anwenden, werden die Standardeinstellungen im Paketmanifest außer Kraft gesetzt.
  2. Wenn Sie die UserConfig.xml anpassen und die angepassten Einstellungen anwenden, werden die Standardeinstellungen für die Bereitstellungskonfiguration und das Paketmanifest überschrieben.

Inhalt der Benutzerkonfigurationsdatei (UserConfig.xml)

Die UserConfig-Datei stellt Konfigurationseinstellungen bereit, die für einen bestimmten Benutzer angewendet werden, wenn das Paket auf einem Computer bereitgestellt wird, auf dem der App-V 5.1-Client ausgeführt wird. Diese Einstellungen wirken sich nicht auf andere Benutzer auf dem Client aus.

Verwenden Sie die UserConfig-Datei, um benutzerdefinierte Einstellungen für ein Paket anzugeben oder zu ändern:

  • In das systemeigene System integrierte Erweiterungen pro Benutzer: Verknüpfungen, Dateitypzuordnungen, URL-Protokolle, AppPaths, Softwareclients und COM
  • Virtuelle Subsysteme: Anwendungsobjekte, Umgebungsvariablen, Registrierungsänderungen, Dienste und Schriftarten
  • Skripts (nur Benutzerkontext)
  • Managing Authority (zur Kontrolle der Koexistenz von Paketen mit App-V 4.6)

Die Kopfzeile einer dynamischen Benutzerkonfigurationsdatei sieht wie folgt aus:

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

Die PackageId ist der gleiche Wert wie in der Manifestdatei.

Textkörper

Der Textkörper der Konfigurationsdatei für dynamische Benutzer kann alle in der Manifestdatei definierten App-Erweiterungspunkte sowie Informationen zum Konfigurieren virtueller Anwendungen enthalten. Im Textkörper sind vier Unterabschnitte zulässig:

  1. Anwendungen
  2. Subsysteme
  3. Userscripts
  4. ManagingAuthority

Anwendungen

Allen App-Erweiterungen, die in der Manifestdatei eines Pakets enthalten sind, ist eine Anwendungs-ID zugewiesen, die Sie in der Manifestdatei finden. Mit der Anwendungs-ID können Sie alle Erweiterungen für eine bestimmte Anwendung innerhalb eines Pakets aktivieren oder deaktivieren. Die Anwendungs-ID muss in der Manifestdatei vorhanden sein, oder sie wird ignoriert.

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

<Applications>

<!--No new application can be defined in policy. AppV Client will ignore any application ID that is not also in the Manifest file-->

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

</Application>

</Applications>

..

</UserConfiguration>

Subsysteme

AppExtensions und andere Subsysteme, die als Unternodes angeordnet sind.

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

<Subsystems>

..

</Subsystems>

..

</UserConfiguration>

Sie können jedes Subsystem mithilfe des Enabled-Attributs aktivieren oder deaktivieren.

Extensions

Einige Subsysteme (Erweiterungssubsysteme) steuern Erweiterungen. Diese Subsysteme sind Verknüpfungen, File-Type Zuordnungen, URL-Protokolle, AppPaths, Softwareclients und COM.

Erweiterungssubsysteme können unabhängig vom Inhalt aktiviert und deaktiviert werden. Wenn Sie z. B. Verknüpfungen aktivieren, verwendet der Client standardmäßig die im Manifest enthaltenen Verknüpfungen. Jedes Erweiterungssubsystem kann einen Erweiterungsknoten <> enthalten. Wenn dieses untergeordnete Element vorhanden ist, ignoriert der Client den Inhalt in der Manifestdatei für dieses Subsystem und verwendet nur den Inhalt in der Konfigurationsdatei.

Beispiele:

  • Wenn Sie dies entweder in der Benutzer- oder bereitstellungskonfigurationsdatei definieren, wird der Inhalt im Manifest ignoriert.

    
    <Shortcuts  Enabled="true"\>
    
    <Extensions>
    
    ...
    
    </Extensions>
    
    </Shortcuts>
    
  • Wenn Sie nur Folgendes definieren, wird der Inhalt im Manifest während der Veröffentlichung integriert.

    
    <Shortcuts  Enabled="true"/>
    
  • Wenn Sie Folgendes definieren, werden alle Verknüpfungen innerhalb des Manifests weiterhin ignoriert. Mit anderen Worten: Es werden keine Verknüpfungen integriert.

    
    <Shortcuts  Enabled="true">
    
       <Extensions/>
    
    </Shortcuts>
    

Unterstützte Erweiterungssubsysteme:

Das Subsystem der Verknüpfungserweiterung steuert, welche Tastenkombinationen in das lokale System integriert werden.


<Subsystems>

<Shortcuts Enabled="true">

  <Extensions>

    <Extension Category="AppV.Shortcut">

      <Shortcut>

        <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>Fill out dynamic forms to gather and reuse information throughout the organization using Microsoft ContosoApp.</Description>

        <Hotkey>0</Hotkey>

        <ShowCommand>1</ShowCommand>

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

      </Shortcut>

  </Extension>

  <Extension Category="AppV.Shortcut">

    <Shortcut>

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

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

      <Icon />

      <Arguments />

      <WorkingDirectory />

      <AppUserModelId />

      <Description />

      <Hotkey>0</Hotkey>

      <ShowCommand>1</ShowCommand>

      <!-- Note the ApplicationId is optional -->

    </Shortcut>

  </Extension>

 </Extensions>

</Shortcuts>

Das Erweiterungssubsystem "File-Type Associates " ordnet Dateitypen Programmen zu, die standardmäßig geöffnet werden sollen, und richtet das Kontextmenü ein.

Tipp

Sie können das Subsystem mit MIME-Typen einrichten.


<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-000000FF1CE}\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>

Das Erweiterungssubsystem für 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}]\MicrosoftContoso\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>

Das Softwareclient-Erweiterungssubsystem ermöglicht der App die Registrierung als E-Mail-Client, Newsreader, Media Player und macht die App in der Benutzeroberfläche "Programmzugriff festlegen" und "Computerstandardeinstellungen" sichtbar. In den meisten Fällen sollten Sie sie nur aktivieren und deaktivieren müssen. Es gibt auch ein Steuerelement zum Aktivieren und Deaktivieren des E-Mail-Clients, insbesondere wenn Sie möchten, dass die anderen Clients mit Ausnahme dieses Clients weiterhin aktiviert sind.


<SoftwareClients Enabled="true">

  <ClientConfiguration EmailEnabled="false" />

</SoftwareClients>

Das AppPaths-Erweiterungssubsystem öffnet Apps, die mit einem Anwendungspfad registriert sind. Wenn contoso.exe beispielsweise den App-Pfadnamen "myapp" aufweist, können Benutzer "myapp " über das Menü "Ausführen" eingeben und contoso.exe ö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>

Das Subsystem für COM-Erweiterungen ermöglicht eine Anwendung, die auf lokalen COM-Servern registriert ist. Der Modus kann wie folgt sein:

  • Integration
  • Isoliert
  • Aus

<COM Mode="Isolated"/>

Virtuelle Kernelobjekte


<Objects Enabled="false" />

Virtual Registry legt eine Registrierung in der virtuellen Registrierung in HKCU fest.


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

<Delete>

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

      <Delete>

       <Variable Name="lib" />

        </Delete>

        </EnvironmentVariables>

Virtuelle Dienste


      <Services Enabled="false" />

Userscripts

Verwenden Sie UserScripts, um die virtuelle Umgebung einzurichten oder zu ändern. Sie können skripts auch zum Zeitpunkt der Bereitstellung oder zum Bereinigen der Umgebung ausführen, nachdem die Anwendung beendet wurde. Informationen zum Anzeigen eines Beispielskripts finden Sie in der vom Sequencer generierten Benutzerkonfigurationsdatei. Der Abschnitt "Skripts" unten enthält weitere Informationen zu den verschiedenen Triggern, die verwendet werden können.

ManagingAuthority

Verwenden Sie "ManagingAuthority", wenn zwei Versionen Ihres Pakets auf demselben Computer gleichzeitig vorhanden sind, eine für App-V 4.6 und eine andere für App-V 5.0 bereitgestellt. Damit App-V vNext App-V 4.6-Erweiterungspunkte für das benannte Paket übernehmen kann, geben Sie Folgendes in die UserConfig-Datei ein (wobei PackageName die Paket-GUID in App-V 4.6 ist:


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

Bereitstellungskonfigurationsdatei (DeploymentConfig.xml)

Die DeploymentConfig-Datei stellt Konfigurationseinstellungen für Computerkontext und Benutzerkontext bereit und bietet die gleichen Funktionen, die in der UserConfig-Datei aufgeführt sind. Die Einstellung wird angewendet, wenn das Paket auf einem Computer bereitgestellt wird, auf dem der App-V 5.1-Client ausgeführt wird.

Verwenden Sie die DeploymentConfig-Datei, um benutzerdefinierte Einstellungen für ein Paket anzugeben oder zu ändern:

  • Alle UserConfig-Einstellungen
  • Erweiterungen, die nur global für alle Benutzer angewendet werden können
  • Virtuelle Subsysteme für globale Computerstandorte, z. B. Registrierung
  • Produktquellen-URL
  • Skripts (nur Computerkontext)
  • Steuerelemente zum Beenden untergeordneter Prozesse

Kopfzeile

Der Header einer Konfigurationsdatei für die dynamische Bereitstellung sieht wie folgt aus:

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

Die PackageId ist der gleiche Wert wie in der Manifestdatei.

Textkörper

Der Textkörper der Konfigurationsdatei für die dynamische Bereitstellung umfasst zwei Abschnitte:

  • UserConfiguration: Ermöglicht den gleichen Inhalt wie die im vorherigen Abschnitt beschriebene Benutzerkonfigurationsdatei. Beim Veröffentlichen des Pakets für einen Benutzer überschreiben alle appextensions-Konfigurationseinstellungen in diesem Abschnitt die entsprechenden Einstellungen im Manifest innerhalb des Pakets, es sei denn, Sie stellen eine Benutzerkonfigurationsdatei bereit. Wenn sie auch eine UserConfig-Datei bereitstellt, wird sie anstelle der Benutzereinstellungen in der Bereitstellungskonfigurationsdatei verwendet. Wenn das Paket global veröffentlicht wird, wird nur der Inhalt der Bereitstellungskonfigurationsdatei in Kombination mit dem Manifest verwendet. Weitere Informationen finden Sie unter Inhalt der Benutzerkonfigurationsdatei (UserConfig.xml).For more details, see User configuration file contents (UserConfig.xml).

  • MachineConfiguration: enthält Informationen, die nur für einen gesamten Computer konfiguriert werden können, nicht für einen bestimmten Benutzer auf dem Computer. Beispielsweise HKEY_LOCAL_MACHINE Registrierungsschlüssel im VFS.


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

<UserConfiguration>

...

</UserConfiguration>

<MachineConfiguration>

...

</MachineConfiguration>

...

</MachineConfiguration>

</DeploymentConfiguration>

UserConfiguration

Informationen zu den Einstellungen in diesem Abschnitt finden Sie im Inhalt der Benutzerkonfigurationsdatei (UserConfig.xml ).

MachineConfiguration

Verwenden Sie den Abschnitt "MachineConfiguration", um Informationen für einen gesamten Computer zu konfigurieren. nicht für einen bestimmten Benutzer auf dem Computer. Beispielsweise HKEY_LOCAL_MACHINE Registrierungsschlüssel in der virtuellen Registrierung. Unter diesem Element sind vier Unterabschnitte zulässig:

  1. Subsysteme
  2. ProductSourceURLOptOut
  3. MachineScripts
  4. TerminateChildProcess

Subsysteme

AppExtensions und andere Subsysteme, die als Unternodes angeordnet sind.


<MachineConfiguration>

  <Subsystems>

  …

  </Subsystems>

…

</MachineConfiguration>

Sie können jedes Subsystem mithilfe des Enabled-Attributs aktivieren oder deaktivieren.

Extensions

Einige Subsysteme (Erweiterungssubsysteme) steuern Erweiterungen. Das Subsystem sind Anwendungsfunktionen, die von Standardprogrammen verwendet werden. Für diese Art von Erweiterung muss das Paket global veröffentlicht werden, um in das lokale System integriert zu werden. Die gleichen Regeln für Steuerelemente und Einstellungen, die auch für die Erweiterungen in der Benutzerkonfiguration gelten, gelten auch für die Im Abschnitt "MachineConfiguration".

Anwendungsfunktionen: Wird standardmäßig für Programme verwendet, die es einer Anwendung ermöglichen, sich selbst zu registrieren als:

  • Kann bestimmte Dateierweiterungen öffnen
  • Ein Kandidat für das Startmenü Internet Browser Slot
  • Kann bestimmte Windows-MIME-Typen öffnen

Diese Erweiterung macht die virtuelle Anwendung auch in der Benutzeroberfläche "Standardprogramme festlegen" sichtbar.


<ApplicationCapabilities Enabled="true">

  <Extensions>

   <Extension Category="AppV.ApplicationCapabilities">

    <ApplicationCapabilities>


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

     <Reference>

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

Unterstützte Erweiterungssubsysteme:

Das Subsystem für die computerweite virtuelle Registrierungserweiterung legt einen Registrierungsschlüssel in der virtuellen Registrierung innerhalb HKEY_Local_Machine fest.


<Registry>

<Include>

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

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

   </Key>

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

 </Include>

<Delete>

</Registry>

Computerweite virtuelle Kernelobjekte


<Objects>

<NotIsolate>

   <Object Name="testObject" />

 </NotIsolate>

</Objects>

ProductSourceURLOptOut

Verwenden Sie ProductSourceURLOptOut, um anzugeben, dass die URL für das Paket global über PackageSourceRoot geändert werden kann (um Zweigstellenszenarien zu unterstützen). Änderungen werden beim nächsten Start wirksam.


<MachineConfiguration>

  ... 

  <ProductSourceURLOptOut Enabled="true" />

  ...

</MachineConfiguration>

MachineScripts

Das Paket kann so konfiguriert werden, dass Skripts zum Zeitpunkt der Bereitstellung, Veröffentlichung oder Entfernung ausgeführt werden. Informationen zum Anzeigen eines Beispielskripts finden Sie in der vom Sequencer generierten Bereitstellungskonfigurationsdatei.

Der Abschnitt "Skripts" unten enthält weitere Informationen zu den verschiedenen Triggern, die verwendet werden können.

TerminateChildProcess

Es kann eine ausführbare Anwendung angegeben werden, deren untergeordnete Prozesse beendet werden, wenn der Exe-Prozess 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 und 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, NV)
PublishPackage X X (SYSTEM, Benutzer)
UnpublishPackage X X (SYSTEM, Benutzer)
RemovePackage X (SYSTEM, NV)
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 für einen einzelnen Ereignistrigger

App-V 5.1 unterstützt die Verwendung mehrerer Skripts für einen einzelnen Ereignistrigger für App-V-Pakete, einschließlich Pakete, die Sie von App-V 4.6 in App-V 5.0 oder höher konvertieren. Um die Verwendung mehrerer Skripts zu ermöglichen, verwendet App-V 5.1 eine Skriptstarteranwendung namens ScriptRunner.exe, die im Rahmen der App-V-Clientinstallation installiert wird.

Verwenden mehrerer Skripts für einen einzelnen Ereignistrigger

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

Hinweis

Es wird empfohlen, zuerst die Zeile mit mehreren Skripts an einer Eingabeaufforderung auszuführen, um sicherzustellen, dass alle Argumente ordnungsgemäß erstellt wurden, bevor Sie sie der Bereitstellungskonfigurationsdatei hinzufügen.

Beispielskript- und Parameterbeschreibungen

Ändern Sie mithilfe der folgenden Beispieldatei und -tabelle die Bereitstellungs- oder Benutzerkonfigurationsdatei, um die Skripts hinzuzufü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>

Zu den Parametern in der Beispieldatei gehören:

<AddPackage>

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

<Pfad>ScriptRunner.exe</Path>

Die Skriptstarteranwendung, die als Teil der App-V-Clientinstallation installiert wird.

Hinweis

Obwohl ScriptRunner.exe als Teil des App-V-Clients installiert ist, muss sich der Speicherort des App-V-Clients in %path% befinden, andernfalls wird ScriptRunner nicht ausgeführt. ScriptRunner.exe befindet sich in der Regel im C:FilesApplication Virtualizationfolder.

<Argumente>

-appvscript - Token, das das tatsächliche Skript darstellt, das Sie ausführen möchten.

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

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

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

-wait – Token, das ScriptRunner informiert, bis die Ausführung von script1.exe abgeschlossen ist, bevor mit dem nächsten Skript fortgefahren wird.

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

-rollbackonerror – Token, das ScriptRunner informiert, alle Skripts, die noch nicht ausgeführt wurden, zu beenden und einen Fehler auf den App-V-Client zurückzurollen.

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

Wartet auf den Gesamtabschluss der ScriptRunner.exe.

Legen Sie den Timeoutwert für den Gesamtausführungslauf so fest, dass er größer oder gleich der Summe der Timeoutwerte in den einzelnen Skripts ist.

Wenn ein einzelnes Skript einen Fehler gemeldet hat und rollbackonerror auf "true" festgelegt wurde, meldet ScriptRunner den Fehler an den App-V-Client.

ScriptRunner führt jedes Skript aus, dessen 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 mithilfe einer App-V 5.1-Manifestdatei

Sie können die dynamische Konfigurationsdatei mit einer von drei Methoden erstellen: entweder manuell mithilfe der App-V 5.1-Verwaltungskonsole oder mithilfe der Sequenzierung eines Pakets, das zwei Beispieldateien generiert. Weitere Informationen zum Erstellen der Datei mithilfe der App-V 5.1-Verwaltungskonsole finden Sie unter " Erstellen einer benutzerdefinierten Konfigurationsdatei mithilfe der App-V 5.1-Verwaltungskonsole".

Um die Datei manuell zu erstellen, können die oben in den vorherigen Abschnitten aufgeführten Informationen in einer einzigen Datei kombiniert werden. Es wird empfohlen, vom Sequencer generierte Dateien zu verwenden.

Verwenden Sie für App-V-Probleme das TechNet-Forum von App-V.