Freigeben über


Informationen zur dynamischen Konfiguration in App-V 5.0

Sie können die dynamische Konfiguration verwenden, um ein App-V 5.0-Paket für einen Benutzer anzupassen. Verwenden Sie die folgenden Informationen, um eine vorhandene dynamische Konfigurationsdatei zu erstellen oder zu bearbeiten.

Wenn Sie die dynamische Konfigurationsdatei bearbeiten, wird die Ausführung eines App-V 5.0-Pakets für einen Benutzer oder eine Gruppe angepasst. Dies bietet eine bequemere Methode für die Paketanpassung, indem die Notwendigkeit entfällt, Pakete mit den gewünschten Einstellungen neu zuzuweisen, und bietet eine Möglichkeit, Paketinhalte und benutzerdefinierte Einstellungen unabhängig zu halten.

Erweitert: Dynamische Konfiguration

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 grundlegendsten Form (ohne andere Anpassung). Wenn Sie diese Standardwerte für einen bestimmten Benutzer oder eine bestimmte Gruppe anpassen möchten, können Sie die folgenden Dateien erstellen und bearbeiten:

  • Benutzerkonfigurationsdatei

  • Bereitstellungskonfigurationsdatei

Die vorherigen .xml Dateien enthalten Paketeinstellungen und ermöglichen das Anpassen von Paketen ohne direkte Auswirkungen auf die Pakete. Wenn ein Paket erstellt wird, generiert der Sequencer mithilfe der Paketmanifestdaten automatisch die Standardbereitstellung und Benutzerkonfiguration .xml Dateien. Daher spiegeln diese automatisch generierten Konfigurationsdateien einfach die Standardeinstellungen wider, die das Paket von Grund auf auf die Konfiguration während der Sequenzierung zurückgibt. Wenn Sie diese Konfigurationsdateien auf ein Paket in der vom Sequencer generierten Form anwenden, weisen die Pakete dieselben Standardeinstellungen auf, die aus ihrem Manifest stammen. Dadurch erhalten Sie eine paketspezifische Vorlage, um zu beginnen, wenn eine der Standardwerte geändert werden muss.

Hinweis

Die folgenden Informationen können nur verwendet werden, um vom Sequencer generierte Konfigurationsdateien so zu ändern, dass Pakete an bestimmte Benutzer- oder Gruppenanforderungen angepasst werden.

Inhalt der dynamischen Konfigurationsdatei

Alle Ergänzungen, Löschungen und Aktualisierungen in den Konfigurationsdateien müssen in Bezug auf die Standardwerte vorgenommen werden, die durch die Manifestinformationen des Pakets angegeben werden. Sehen Sie sich die folgende Liste an:

  • Benutzerkonfigurationsdatei .xml
  • Bereitstellungskonfigurationsdatei .xml
  • Paketmanifest

Die vorherige Liste gibt an, wie die Dateien gelesen werden. Der erste Eintrag stellt dar, was zuletzt gelesen wird, daher hat sein Inhalt Vorrang. Daher enthalten alle Pakete inhärent Standardeinstellungen aus dem Paketmanifest und stellen diese bereit. Wenn eine Bereitstellungskonfiguration .xml Datei mit benutzerdefinierten Einstellungen angewendet wird, wird die Standardeinstellung des Paketmanifests überschrieben. Wenn eine Benutzerkonfiguration .xml Datei mit benutzerdefinierten Einstellungen angewendet wird, setzt sie sowohl die Bereitstellungskonfiguration als auch die Standardeinstellungen des Paketmanifests außer Kraft.

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

  • Benutzerkonfigurationsdatei (UserConfig): Hiermit können Sie benutzerdefinierte Einstellungen für ein Paket angeben oder ändern. Diese Einstellungen werden für einen bestimmten Benutzer angewendet, wenn das Paket auf einem Computer bereitgestellt wird, auf dem der App-V 5.0-Client ausgeführt wird.

  • Bereitstellungskonfigurationsdatei (DeploymentConfig): Ermöglicht es Ihnen, die Standardeinstellungen für ein Paket anzugeben oder zu ändern. Diese Einstellungen werden für alle Benutzer angewendet, wenn ein Paket auf einem Computer bereitgestellt wird, auf dem der App-V 5.0-Client ausgeführt wird.

Um die Einstellungen für ein Paket für eine bestimmte Gruppe von Benutzern auf einem Computer anzupassen oder Änderungen vorzunehmen, die auf lokale Benutzerspeicherorte wie HKCU angewendet werden, sollte die UserConfig-Datei verwendet werden. Um die Standardeinstellungen eines Pakets für alle Benutzer auf einem Computer zu ändern oder Änderungen vorzunehmen, die auf globale Speicherorte wie HKEY_LOCAL_MACHINE und den Ordner "Alle Benutzer" angewendet werden, sollte die DeploymentConfig-Datei verwendet werden.

Die UserConfig-Datei enthält Konfigurationseinstellungen, die auf einen einzelnen Benutzer angewendet werden können, ohne dass sich dies auf andere Benutzer auf einem Client auswirkt:

  • Erweiterungen, die pro Benutzer in das systemeigene System integriert sind: - Verknüpfungen, File-Type Zuordnungen, URL-Protokolle, AppPaths, Softwareclients und COM

  • Virtuelle Subsysteme: Anwendungsobjekte, Umgebungsvariablen, Registrierungsänderungen, Dienste und Schriftarten

  • Skripts (nur Benutzerkontext)

  • Verwaltungsautorität (zur Steuerung der Koexistenz des Pakets mit App-V 4.6)

Die DeploymentConfig-Datei enthält Konfigurationseinstellungen in zwei Abschnitten, einen relativ zum Computerkontext und einen relativ zum Benutzerkontext, der die gleichen Funktionen bereitstellt, die in der UserConfig-Liste oben aufgeführt sind:

  • Alle userConfig-Einstellungen oben

  • Erweiterungen, die nur global für alle Benutzer angewendet werden können.

  • Virtuelle Subsysteme, die für globale Computerstandorte konfiguriert werden können, z. B. registrierung.

  • Produktquell-URL

  • Skripts (nur Computerkontext)

  • Steuerelemente zum Beenden untergeordneter Prozesse

Dateistruktur

Die Struktur der Datei "App-V 5.0 Dynamic Configuration" wird im folgenden Abschnitt erläutert.

Dynamische Benutzerkonfigurationsdatei

Header : Der Header einer dynamischen Benutzerkonfigurationsdatei lautet wie folgt:

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

Die PackageId ist derselbe Wert wie in der Manifestdatei.

Text : Der Text der Dynamischen Benutzerkonfigurationsdatei kann alle App-Erweiterungspunkte enthalten, die in der Manifestdatei definiert sind, sowie Informationen zum Konfigurieren virtueller Anwendungen. Es sind vier Unterabschnitte im Text zulässig:

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

Anwendungen

Allen App-Erweiterungen, die in der Manifestdatei in einem Paket enthalten sind, wird eine Anwendungs-ID zugewiesen, die ebenfalls in der Manifestdatei definiert ist. Dadurch 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, andernfalls wird sie ignoriert.

<UserConfiguration **PackageId**="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="<https://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 sind als Unterknoten unter angeordnet <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 Enabled -Attributs aktiviert/deaktiviert werden. Im Folgenden finden Sie die verschiedenen Subsysteme und Verwendungsbeispiele.

Erweiterungen:

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

Erweiterungssubsysteme können unabhängig vom Inhalt aktiviert und deaktiviert werden. Wenn Verknüpfungen aktiviert sind, verwendet der Client standardmäßig die im Manifest enthaltenen Verknüpfungen. Jedes Erweiterungssubsystem kann einen <Extensions> Knoten 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.

Beispiel für die Verwendung des Verknüpfungssubsystems:

  1. Wenn der Benutzer dies in der dynamischen Konfigurationsdatei oder in der Bereitstellungskonfigurationsdatei definiert hat, werden Inhalte im Manifest ignoriert.

    <Shortcuts  Enabled="true">
      <Extensions>
        ...
      </Extensions>
    </Shortcuts>
    
  2. Wenn der Benutzer nur das folgende Element definiert hat, wird der Inhalt im Manifest während der Veröffentlichung integriert.

    <Shortcuts  Enabled="true"/>
    
  3. Wenn der Benutzer das folgende Element definiert, werden alle Verknüpfungen im Manifest weiterhin ignoriert. Es werden keine Tastenkombinationen integriert.

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

Die unterstützten Erweiterungssubsysteme sind:

  • Verknüpfungen: Dadurch werden Tastenkombinationen gesteuert, die in das lokale System integriert werden. Im Folgenden finden Sie ein Beispiel mit zwei Tastenkombinationen:

    <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>
    
  • Dateitypzuordnungen: Ordnet Dateitypen Programmen zu, die standardmäßig geöffnet werden sollen, und richten Sie das Kontextmenü ein. (MIME-Typen können auch mit diesem Subsystem eingerichtet werden.) Beispiel für die Zuordnung des Dateityps:

    <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: Dies 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: Ermöglicht der App die Registrierung als Email Client, Nachrichtenleser und Media Player und macht die App auf der Benutzeroberfläche "Programmzugriff festlegen" und "Computerstandardeinstellungen" sichtbar. In den meisten Fällen müssen Sie es nur aktivieren und deaktivieren. Es gibt auch ein Steuerelement zum Aktivieren und Deaktivieren des E-Mail-Clients, insbesondere wenn die anderen Clients mit Ausnahme dieses Clients weiterhin aktiviert sein sollen.

     <SoftwareClients Enabled="true">
       <ClientConfiguration EmailEnabled="false" />
     </SoftwareClients>
    
  • AppPaths: Wenn eine Anwendung z. B. contoso.exe mit dem apppath Namen "myapp" registriert ist, können Sie im Ausführungsmenü "myapp" 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>
    
  • COM: Ermöglicht einer Anwendung, lokale COM-Server zu registrieren. Der Modus kann Integration, Isoliert oder Aus sein.

     <COM Mode="Isolated"/>
    
  • Weitere Einstellungen:

    Neben Erweiterungen können auch andere Subsysteme aktiviert/deaktiviert und bearbeitet werden:

    • Virtuelle Kernelobjekte: <Objects Enabled="false" />

    • Virtuelle Registrierung: Wird verwendet, wenn Sie eine Registrierung in der virtuellen Registrierung in 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>
         <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

Skripts können verwendet werden, um die virtuelle Umgebung einzurichten oder zu ändern und Skripts zum Zeitpunkt der Bereitstellung oder Entfernung auszuführen, bevor eine Anwendung ausgeführt wird, oder sie können zum "sauber" der Umgebung verwendet werden, nachdem die Anwendung beendet wurde. Verweisen Sie auf eine Benutzerkonfigurationsdatei, die vom Sequencer ausgegeben wird, um ein Beispielskript anzuzeigen. Der Abschnitt Skripts unten enthält weitere Informationen zu den verschiedenen Triggern, die verwendet werden können.

ManagingAuthority

Kann verwendet werden, wenn zwei Versionen Ihres Pakets gleichzeitig auf demselben Computer vorhanden sind, eine für App-V 4.6 und die andere auf 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" />

Konfigurationsdatei für die dynamische Bereitstellung

Header : Der Header einer Bereitstellungskonfigurationsdatei lautet wie folgt:

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

Die PackageId ist derselbe Wert, der in der Manifestdatei vorhanden ist.

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

  • Der Abschnitt "Benutzerkonfiguration" ermöglicht den gleichen Inhalt wie die im vorherigen Abschnitt beschriebene Benutzerkonfigurationsdatei. Wenn das Paket für einen Benutzer veröffentlicht wird, überschreiben alle Konfigurationseinstellungen für App-Erweiterungen in diesem Abschnitt die entsprechenden Einstellungen im Manifest innerhalb des Pakets, es sei denn, es wird ebenfalls eine Benutzerkonfigurationsdatei bereitgestellt. Wenn auch eine UserConfig-Datei bereitgestellt wird, 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.

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

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

Benutzerkonfiguration : Verwenden Sie den vorherigen Abschnitt dynamische Benutzerkonfigurationsdatei , um Informationen zu Einstellungen zu erhalten, die im Abschnitt "Benutzerkonfiguration" der Bereitstellungskonfigurationsdatei bereitgestellt werden.

Computerkonfiguration: Der Abschnitt Computerkonfiguration der Bereitstellungskonfigurationsdatei wird verwendet, um Informationen zu konfigurieren, die nur für einen gesamten Computer und nicht für einen bestimmten Benutzer auf dem Computer festgelegt werden können. 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 sind als Unterknoten unter <Subsystems>angeordnet:

    <MachineConfiguration>
      <Subsystems>
      ..
      </Subsystems>
    ..
    </MachineConfiguration>

Im folgenden Abschnitt werden die verschiedenen Subsysteme und Verwendungsbeispiele angezeigt.

Erweiterungen:

Einige Subsysteme (Erweiterungssubsysteme) steuern Erweiterungen, die nur für alle Benutzer gelten können. Das Subsystem sind Anwendungsfunktionen. Da dies nur für alle Benutzer gelten kann, muss das Paket global veröffentlicht werden, damit diese Art von Erweiterung in das lokale System integriert werden kann. Die gleichen Regeln für Steuerelemente und Einstellungen, die für die Erweiterungen in der Benutzerkonfiguration gelten, gelten auch für die Im Abschnitt MachineConfiguration.

Anwendungsfunktionen:

Wird von Standardprogrammen in der Windows-Betriebssystemschnittstelle verwendet. Ermöglicht es einer Anwendung, sich als in der Lage zu registrieren, bestimmte Dateierweiterungen zu öffnen, als Anwärter auf den Startmenü-Internetbrowser-Slot, da bestimmte Windows MIME-Typen geöffnet werden können. Diese Erweiterung macht die virtuelle Anwendung auch auf 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>

Weitere Einstellungen:

Neben Erweiterungen können auch andere Subsysteme bearbeitet werden:

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

      <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>
    
  • Machine Wide Virtual Kernel Objects

      <Objects>
      <NotIsolate>
         <Object Name="testObject" />
       </NotIsolate>
      </Objects>
    

ProductSourceURLOptOut

Gibt an, ob die URL für das Paket global über PackageSourceRoot geändert werden kann (zur Unterstützung von Filialenszenarien). Der Standardwert ist false, und die Einstellungsänderung wird 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. Verweisen Sie auf eine Beispielkonfigurationsdatei für die Bereitstellung, die vom Sequencer generiert wird, um ein Beispielskript anzuzeigen. Der Abschnitt Skripts unten enthält weitere Informationen zu den verschiedenen Triggern, die verwendet werden können.

TerminateChildProcess

Es kann eine ausführbare Datei der 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 Ausführung im System-/Benutzerkontext: (Bereitstellungskonfiguration, Benutzerkonfiguration)
AddPackage X (SYSTEM, nicht verfügbar)
PublishPackage X X (SYSTEM, Benutzer)
UnpublishPackage X X (SYSTEM, Benutzer)
RemovePackage X (SYSTEM, nicht verfügbar)
StartProcess X X X X (Benutzer, Benutzer)
Exitprocess X X X (Benutzer, Benutzer)
StartVirtualEnvironment X X X (Benutzer, Benutzer)
TerminateVirtualEnvironment X X (Benutzer, Benutzer)

Erstellen einer dynamischen Konfigurationsdatei mithilfe einer App-V 5.0-Manifestdatei

Sie können die Dynamische Konfigurationsdatei mit einer von drei Methoden erstellen: entweder manuell mithilfe der App-V 5.0-Verwaltungskonsole oder durch Sequenzieren eines Pakets, das mit zwei Beispieldateien generiert wird.

Weitere Informationen zum Erstellen der Datei mithilfe der App-V 5.0-Verwaltungskonsole finden Sie unter Erstellen einer benutzerdefinierten Konfigurationsdatei mithilfe der App-V 5.0-Verwaltungskonsole.

Um die Datei manuell zu erstellen, können die obigen Informationen in den vorherigen Abschnitten in einer einzelnen Datei kombiniert werden. Es wird empfohlen, vom Sequencer generierte Dateien zu verwenden.

Sie wenden Sie die Bereitstellungskonfigurationsdatei mithilfe von PowerShell an

So wenden Sie die Benutzerkonfigurationsdatei mithilfe von PowerShell an

Vorgänge für App-V 5.0