Informationen zur dynamischen Konfiguration in App-V 5.0
Letzte Aktualisierung: November 2012
Betrifft: Application Virtualization 5.0, Application Virtualization 5.0 SP1, Application Virtualization 5.0 SP2, Application Virtualization 5.0 SP3
Mithilfe der dynamischen Konfiguration können Sie ein App-V 5.0-Paket für einen Benutzer anpassen. Nutzen Sie folgende Informationen zum Erstellen oder Bearbeiten einer dynamischen Konfigurationsdatei.
Durch das Bearbeiten der dynamischen Konfigurationsdatei wird angepasst, wie ein App-V 5.0-Paket für einen Benutzer oder eine Gruppe ausgeführt wird. Auf diese Weise wird eine bequemere Methode für die Paketanpassung bereitgestellt, da die Notwendigkeit zur Neusequenzierung der Pakete mithilfe der gewünschten Einstellungen entfällt. Darüber hinaus können Paketinhalte und die benutzerdefinierte Einstellungen voneinander getrennt werden.
Erweitert: Dynamische Konfiguration
Virtuelle Anwendungspakete enthalten ein Manifest, das die wichtigsten Informationen für das Paket bereitstellt. Diese Informationen umfassen die Standardwerte für die Paketeinstellungen und die grundlegenden Einstellungen (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 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-Datie für die Benutzerkonfiguration |
XML-Datei für die Bereitstellungskonfiguration |
Paketmanifest |
Die vorherige Tabelle stellt dar, wie die Dateien gelesen werden. Der erste Eintrag, die Benutzerkonfigurationsdatei, wird zuletzt gelesen, deshalb hat ihr Inhalt Vorrang. Alle Pakete enthalten deshalb grundsätzlich die Standardeinstellungen des Paketmanifests und stellen diese bereit. Wenn eine XML-Datei zur Bereitstellungskonfiguration mit benutzerdefinierten Einstellungen angewendet wird, werden die Standardeinstellungen des Paketmanifests überschrieben. Wenn zuvor eine XML-Datei für die Benutzerkonfiguration mit benutzerdefinierten Einstellungen angewendet wird, werden die Bereitstellungskonfiguration und die Standardeinstellungen des Paketmanifests überschrieben.
Die folgende Liste enthält weitere Informationen zu den zwei Dateitypen:
Benutzerkonfigurationsdatei (UserConfig): Ermöglicht es Ihnen, benutzerdefinierte Einstellungen für ein Paket festzulegen oder zu ändern. Diese Einstellungen werden bei der Bereitstellung des Pakets auf einem Computer, auf dem der App-V 5.0-Client ausgeführt wird, auf einen bestimmten Benutzer angewendet.
Bereitstellungskonfigurationsdatei (DeploymentConfig): Ermöglicht es Ihnen, die Standardeinstellungen für ein Paket festzulegen oder zu ändern. Diese Einstellungen werden bei der Bereitstellung des Pakets auf einem Computer, auf dem der App-V 5.0-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)
Steuerelemente zum Beenden untergeordneter Prozesse
Dateistruktur
Im folgenden Abschnitt wird die Struktur der dynamischen Konfigurationsdatei von App-V 5.0 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:
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">
<Applications>
<!-- 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>
Subsystems: Anwendungserweiterungen und andere Subsysteme werden unterhalb von <Subsystems> als untergeordnete Knoten aufgeführt:
<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:
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.
Wenn der Benutzer nur Folgendes definiert hat:
<Shortcuts Enabled="true"/>
wird der Inhalt des Manifests während der Veröffentlichung integriert.
Wenn der Benutzer Folgendes definiert hat:
<Shortcuts Enabled="true">
<Extensions/>
</Shortcuts>
werden alle Verknüpfungen im Manifest dennoch ignoriert. Es werden keine Verknüpfungen integriert.
Folgende Erweiterungssubsysteme werden unterstützt:
Verknüpfungen: Steuert Verknüpfungen, die in das lokale System integriert werden. Nachstehend wird ein Beispiel für zwei Verknüpfungen gezeigt:
<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>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">
<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>
<!-- Die Anwendungs-ID ist optional. -->
</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 wird ein Beispiel für eine Dateitypzuordnung gezeigt:
<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: Ermöglicht, dass die Anwendung als E-Mail-Client, Newsreader oder Media Player registriert und auf der Seite "Programmzugriff und Computerstandards festlegen" angezeigt wird. In den meisten Fällen müssen Sie sie nur aktivieren oder deaktivieren. Darüber hinaus gibt es ein Steuerelement 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“ den Wert „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>
<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 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.
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 (hierbei steht „PackageName“ für die Paket-GUID in App-V 4.6):
<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. Hierzu gehört beispielsweise der 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. Hierzu gehört beispielsweise der HKEY_LOCAL_MACHINE-Registrierungsschlüssel in der virtuellen Registrierung. Dieses Element kann vier Unterabschnitte aufweisen:
Subsystems: Anwendungserweiterungen und andere Subsysteme werden unterhalb von <Subsystems> als untergeordnete Knoten aufgeführt:
<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 Steuerelemente 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 als fähig registrieren, bestimmte Dateierweiterungen und MIME-Typen in Windows zu öffnen sowie als Kandidat für den Internetbrowserslot des Startmenüs zu fungieren. Durch diese Erweiterung wird die virtuelle Anwendung außerdem auf der Seite zur Festlegung der Standardprogramme angezeigt:
<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 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.
<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: Gibt an, ob die URL für das Paket global über „PackageSourceRoot“ geändert werden kann (zur Unterstützung von Szenarien mit Zweigstellen). 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 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.
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, in 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) |
Erstellen einer dynamischen Konfigurationsdatei mit einer App-V 5.0-Manifestdatei
Es gibt drei Möglichkeiten zum Erstellen der dynamischen Konfigurationsdatei: 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 So erstellen Sie mit der App-V 5.0-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
Die Bereitstellungskonfigurationsdatei mithilfe von PowerShell anwenden
Anwenden der Benutzerkonfigurationsdatei mithilfe von PowerShell
Weitere Ressourcen
-----
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.
-----