Registrieren von Programmen mit Clienttypen

In diesem Artikel wird erläutert, wie Sie ein Programm in der Windows-Registrierung als einen der folgenden Clienttypen registrieren: Browser, E-Mail, Medienwiedergabe, Chat oder virtueller Java-Computer.

Hinweis

Diese Informationen gelten für die folgenden Betriebssysteme:

  • Windows 2000 Service Pack 3 (SP3)
  • Windows 2000 Service Pack 4 (SP4)
  • Windows XP Service Pack 1 (SP1)
  • Windows XP Service Pack 2 (SP2)
  • Windows XP Service Pack 3 (SP3)
  • Windows Server 2003
  • Windows Vista
  • Windows Vista Service Pack 1 (SP1)
  • Windows 8

 

Das Thema enthält folgende Abschnitte:

In diesem Artikel wird die vorhandene Dokumentation zum Registrieren eines Programms als einen bestimmten Clienttyp erweitert. Links zu dieser Dokumentation finden Sie im Abschnitt „Ähnliche Artikel“.

Allgemeine Registrierungselemente für alle Clienttypen

Bei der Registrierung eines Programms als Clienttyp sind die meisten Registrierungseinträge unabhängig vom Clienttyp identisch. Einige Registrierungseinträge sind jedoch spezifisch für den Clienttyp. Diese Registrierungseinträge sind im Abschnitt Registrierungselemente für bestimmte Clienttypen aufgeführt.

In diesem Abschnitt werden die folgenden Themen erläutert:

Hinweis

Unterschlüsselnamen, die in diesem Artikel kursiv angegeben werden, sind Platzhalter für benutzerdefinierte Unterschlüsselnamen oder mögliche Werte. Vollständige Beispiele mit Beispielnamen finden Sie im Abschnitt Vollständige Beispielregistrierungen.

 

Alle Clienttyp-Registrierungsinformationen werden unter dem folgenden Unterschlüssel gespeichert:

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName

ClientTypeName ist einer der folgenden Unterschlüsselnamen:

  • StartMenuInternet (für Browser)
  • Mail (für E-Mail)
  • Media (für die Medienwiedergabe)
  • IM (für Chatnachrichten)
  • JavaVM (für virtuelle Java-Computer)

In diesem Artikel wird auf ein fiktives Computerprogramm namens „Lit View“ von „Litware Inc.“ mit einer ausführbaren Datei namens „Litview.exe“ verwiesen. Dieses fiktive Programm wird je nach Bedarf für illustrative Zwecke als Chat, Browser oder eine andere Art von Clientprogramm verwendet.

Auswählen eines kanonischen Namens

Der Anbieter muss einen kanonischen Namen für das Programm auswählen. Der kanonische Name wird den Benutzer*innen niemals angezeigt, weshalb er nicht lokalisiert werden muss. Der einzige Zweck besteht darin, eine eindeutige Zeichenfolge bereitzustellen, mit der das Programm identifiziert werden kann. Der kanonische Name ist in der Regel identisch mit dem englischen Namen des Programms, aber dies ist nur eine Konvention.

Bei anderen Clienttypen als Browsern kann der kanonische Name eine beliebige Zeichenfolge sein. Wählen Sie einen eindeutigen Namen aus, der wahrscheinlich nicht von einem anderen Anbieter verwendet wird.

Für Browserclients muss der kanonische Name der Name (einschließlich der Erweiterung) der zugeordneten ausführbaren Datei sein (z. B. „Litview.exe“).

Hier sind einige Beispiele für kanonische Namen.

  • Iexplore.exe (Browser)
  • Windows Mail (E-Mail)
  • Windows Media Player (Medien)
  • Windows Messenger (Chat)

Registrieren Sie den kanonischen Namen, indem Sie wie hier gezeigt einen Unterschlüssel erstellen. Der Name des Unterschlüssels ist der kanonische Name. Alle Informationen zur Registrierung dieses Programms sind unter diesem Unterschlüssel vorhanden.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName

Registrieren des Anzeigenamens eines Programms

Der nächste Schritt bei der Registrierung besteht darin, den Anzeigenamen des Programms anzugeben. Er wird wie hier gezeigt als Wert unter dem kanonischen Namensschlüssel angegeben. Beachten Sie auch hier, dass CanonicalName und ClientTypeName nicht die tatsächlichen Namen der Schlüssel sind, sondern nur Platzhalter für die richtigen Namen (z. B. Lit View).

Hinweis

Ab Windows 8 sollten die Namen übereinstimmen, die für die Registrierung bei Programmzugriff und Computerstandards festlegen (SPAD) und Standardprogramme verwendet werden, damit SPAD-Änderungen Standardprogrammregistrierungen auslösen.

 

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               LocalizedString = @FilePath,-StringID

Der LocalizedString-Wert ist eine REG_SZ-Zeichenfolge und besteht aus einem @-Zeichen, dem vollständigen Pfad zu einer DLL- oder EXE-Datei, einem Komma, einem Minuszeichen und einer dezimalen Ganzzahl. Die dezimale Ganzzahl ist die ID einer Zeichenfolgenressource, die in der DLL- oder EXE-Datei enthalten ist und deren Wert den Benutzer*innen als Name dieses Clients angezeigt werden soll. Beachten Sie, dass der Dateipfad keine Anführungszeichen erfordert, auch wenn er Leerzeichen enthält.

Wenn Sie die Anzeigenamen-Zeichenfolge auf diese Weise registrieren, kann dieselbe Registrierung für mehrere Sprachen verwendet werden. Bei jeder Sprachinstallation wird eine andere Ressourcendatei mit dem Anzeigenamen bereitgestellt, der unter derselben Ressourcen-ID gespeichert ist.

Das folgende Beispiel zeigt die Registrierung im Zusammenhang mit einem fiktiven Lit View-Chatprogramm. Da es sich um ein Chatprogramm handelt, wird der CanonicalName-Unterschlüssel (in diesem Fall Lit View) unter dem Unterschlüssel IM gespeichert.

HKEY_LOCAL_MACHINE
   Software
      Clients
         IM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123

Beachten Sie, dass der Eintrag „(Default)“ als sekundäre Deklaration des Anzeigenamens des Clients verwendet wird. Wenn LocalizedString nicht vorhanden ist, wird stattdessen der Wert „(Default)“ verwendet. Dies funktioniert bei allen Clienttypen (Internetbrowser, E-Mail-Browser, Chat und Media Player). Aus Gründen der Abwärtskompatibilität mit dem Internet Explorer-Clientregistrierungslayout sollten E-Mail-Programme den Wert „(Default)“ des CanonicalName-Unterschlüssels auf den Anzeigenamen des Clients in der aktuell installierten Sprache festlegen.

Registrieren eines Programmsymbols

Hinweis

Dieser Abschnitt gilt nicht für Windows 2000.

 

Standardmäßig sind unter Windows XP und Windows Vista im oberen Abschnitt des Start-Menüs die Symbole Internet und E-Mail verfügbar. Diese Symbole sind unter Windows 7 und höher nicht vorhanden. Wenn ein Programm als Standard für den Clienttyp zugewiesen wird, wird bei Browser- und E-Mail-Clients das registrierte Symbol dieses Programms für diese Einträge im Start-Menü angezeigt.

Das Registrieren des Programmsymbols ist für Browser- und E-Mail-Clients obligatorisch. Das Registrieren eines Symbols bei Clienttypen für die Medienwiedergabe, Chats oder virtuelle Java-Computer ist optional, und registrierte Symbole für diese Clienttypen werden derzeit nicht von Windows verwendet und unter Windows XP bzw. Windows Vista nicht im oberen Abschnitt des Start-Menüs angezeigt.

Fügen Sie wie hier gezeigt einen DefaultIcon-Unterschlüssel mit einem Standardwert hinzu, um ein Symbol bei einem Clientprogramm zu registrieren.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               DefaultIcon
                  (Default) = FilePath,IconIndex

Der FilePath-Wert ist der vollständige Pfad zur Datei, die das Symbol enthält. Dieser Pfad erfordert keine Anführungszeichen, auch wenn er Leerzeichen enthält.

Der IconIndex-Wert wird wie folgt interpretiert:

  • Wenn IconIndex eine positive Zahl ist, wird die Zahl als Index des nullbasierten Arrays von Symbolen verwendet, das in der Datei gespeichert ist. Wenn IconIndex beispielsweise „1“ entspricht, wird das zweite Symbol aus dieser Datei geladen.
  • Wenn IconIndex eine negative Zahl ist, wird der absolute Wert von IconIndex als Ressourcenbezeichner (und nicht als Index) für das Symbol verwendet. Wenn IconIndex beispielsweise „–3“ entspricht, wird das Symbol aus der Datei geladen, dessen Ressourcenbezeichner „3“ entspricht.

Das folgende Beispiel zeigt die Registrierung eines hypothetischen Lit View-Browsers. Das zweite Symbol, das in der Datei „Litview.exe“ gespeichert ist, wird als Standard verwendet.

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\Litview.exe,1

Registrieren eines open-Verbs

Hinweis

Dieser Abschnitt gilt nicht für Windows 2000. Der folgende Schritt ist nur für Browser- und E-Mail-Clients erforderlich.

 

Angenommen, Benutzer*innen haben Ihr Programm als Internet- oder E-Mail-Standardprogramm ausgewählt. Diese Benutzer*innen klicken unter Windows XP oder Windows Vista im Start-Menü auf das Internet- bzw. E-Mail-Symbol, um das Programm zu öffnen. Zu diesem Zeitpunkt wird wie hier gezeigt die registrierte Befehlszeile ausgeführt.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               shell
                  open
                     command
                        (Default) = command line

Die Befehlszeile muss einen vollqualifizierten absoluten Pfad zur Datei angeben, gefolgt von optionalen Befehlszeilenoptionen. Wenn der Eintragstyp „REG_EXPAND_SZ“ ist, können Umgebungsvariablen im Pfad verwendet werden. Verwenden Sie entsprechend Anführungszeichen, um sicherzustellen, dass Leerzeichen in der Befehlszeile nicht falsch interpretiert werden. Die Befehlszeile sollte das Programm mit den entsprechenden Standardwerten ausführen. Browser öffnen in der Regel standardmäßig die Startseite der Benutzer*innen. Bei E-Mail-Programmen wird üblicherweise der Posteingang der Benutzer*innen geöffnet.

Das folgende Beispiel veranschaulicht die Registrierung eines open-Verbs für einen fiktiven Lit View-Browser. Es werden keine Befehlszeilenoptionen angegeben.

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               shell
                  open
                     command
                        (Default) = "C:\Program Files\LitwareInc\Litview.exe"

Beachten Sie, dass in diesem Wert Anführungszeichen um den Pfad herum platziert werden, da eingebettete Leerzeichen vorhanden sind. Das Auslassen dieser Anführungszeichen kann dazu führen, dass die Befehlszeile falsch interpretiert wird.

Registrieren von Installationsinformationen

Hinweis

Dieser Abschnitt gilt nicht für Windows Server 2003.

 

In der folgenden Tabelle wird erläutert, mit welchem Feature Benutzer*innen Standardprogramme für die jeweiligen Computer auswählen und wie der Zugriff erfolgt. (Unter Windows Vista wurde das neue Feature Standardprogramme festlegen eingeführt, mit dem Benutzer*innen benutzerbasierte Standardprogramme festlegen können.)

Betriebssystem Titel Zugriffsort
Windows 7 Programmzugriff und Computerstandards festlegen
  • Start-Menü > Option Standardprogramme
  • Systemsteuerung-Element Standardprogramme
Windows Vista Programmzugriff und Computerstandards festlegen
  • Start-Menü > Option Standardprogramme
  • Systemsteuerung-Element Standardprogramme
Windows XP SP2 Festlegen des Programmzugriffs und der Standardprogramme
  • Startmenü
  • Systemsteuerung-Element Programme hinzufügen oder entfernen
Windows XP SP1 Konfigurieren von Programmen
  • Systemsteuerung-Element Programme hinzufügen oder entfernen

 

Der Einfachheit halber wird in diesem Artikel der Windows 7-Titel des Features verwendet. Alle Versionen des Features werden allgemein als „SPAD“ bezeichnet.

Hinweis

Wenn Sie Windows 2000 oder Windows XP ausführen, müssen Sie mindestens Windows 2000 SP3 oder Windows XP SP1 installiert haben, um die Seite Festlegen des Programmzugriffs und der Standardprogramme anzeigen zu können. Unter Windows Vista und höher sind für den Zugriff auf die Seite Programmzugriff und Computerstandards festlegen Administratorberechtigungen erforderlich. Aus diesem Grund werden Entwickler*innen ermutigt, das Systemsteuerung-Element Standardprogramme festlegen zu registrieren, damit alle Benutzer*innen Anwendungsstandardeinstellungen verwalten können.

 

Die folgende Registrierungsstruktur zeigt die Vielzahl von Informationen, die im InstallInfo-Schlüssel des Programms registriert werden müssen, damit das Programm auf der Seite Programmzugriff und Computerstandards festlegen als Option für den Clienttyp angezeigt wird. Jeder dieser Werte wird in den folgenden Abschnitten ausführlich beschrieben.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  HideIconsCommand = command line
                  ReinstallCommand = command line
                  ShowIconsCommand = command line
                  IconsVisible = 1

Die Befehlszeile muss einen vollqualifizierten absoluten Pfad zur Datei angeben, gefolgt von optionalen Befehlszeilenoptionen. Verwenden Sie entsprechend Anführungszeichen, um sicherzustellen, dass Leerzeichen in der Befehlszeile nicht falsch interpretiert werden.

Befehl für erneute Installation

Die im ReinstallCommand-Wert deklarierte Befehlszeile für eine erneute Installation wird ausgeführt, wenn Benutzer*innen die Seite Programmzugriff und Computerstandards festlegen verwenden, um Ihr Programm als Standardprogramm für den Clienttyp auszuwählen. Unter Windows Vista und höher ist für den Zugriff auf diese Seite eine Administratorberechtigung erforderlich. Wenn Sie unter Windows 8 Ihre Anwendung mit demselben Namen bei Programmzugriff und Computerstandards festlegen und Standardprogramme registriert haben, werden die unter Standardprogramme aufgeführten Standards für diese Anwendung bei den aktuellen Benutzer*innen angewendet, und der Befehl für eine erneute Installation wird ausgeführt.

Das Programm, das über die Befehlszeile für eine erneute Installation gestartet wird, muss die Anwendung allen Dateitypen und Protokolltypen zuordnen, die die Anwendung verarbeiten kann. Alle Anwendungen müssen die Handlerfunktion im Befehl für eine erneute Installation einrichten. Anwendungen können den Befehl für eine erneute Installation verwenden, um die Funktion zu registrieren und optional den Standardstatus festzulegen. Wenn eine Anwendung sowohl die Funktion als auch den Standardhandlerstatus im Befehl für eine erneute Installation implementiert, sollten auch alle sichtbaren Links oder Verknüpfungen wieder angezeigt werden. Die sichtbaren Einstiegspunkte, die die meisten Anwendungen auswählen, werden im Befehl zum Ausblenden von Symbolen aufgeführt.

Hinweis

Es wird dringend empfohlen, dass Anwendungen die Handlerfunktion im Befehl für eine erneute Installation implementieren.

 

Sobald der Prozess für eine erneute Installation abgeschlossen ist, sollte das über die Befehlszeile für eine erneute Installation gestartete Programm beendet werden. Das entsprechende Programm sollte nicht gestartet werden, sondern nur Standards registrieren. Beispielsweise sollte der Befehl für eine erneute Installation für einen Browser nicht die Startseite der Benutzer*innen öffnen.

Hinweis

Für Browser- und E-Mail-Clients unter Windows XP und Windows Vista sollten Anwendungen, die sowohl die Handlerfunktion als auch den Standardstatus im Befehl für eine erneute Installation einrichten, beim entsprechenden Symbol oben im Startmenü registriert werden. Weitere Informationen finden Sie unter Startmenüregistrierung.

 

Befehl zum Ausblenden von Symbolen

Die im HideIconsCommand-Wert deklarierte Befehlszeile wird ausgeführt, wenn die Benutzer*innen das Kontrollkästchen Zugriff auf dieses Programm aktivieren auf der Seite Programmzugriff und Computerstandards festlegen deaktivieren. Diese Befehlszeile muss alle Zugriffspunkte Ihres Programms ausblenden, die auf der Benutzeroberfläche sichtbar sind. Die spezifischen Richtlinien sind das Entfernen von Verknüpfungen und Symbolen an den folgenden Stellen:

  • Desktopsymbole
  • Startmenülinks (einschließlich der Start-Gruppe)
  • Schnellstartleisten-Links
  • Benachrichtigungsbereich
  • Kontextmenüs
  • Ordneraufgabenleiste

Diese Befehlszeile muss auch automatische Aufrufe des Programms verhindern (z. B. die im Run-Registrierungsschlüssel angegebenen Aufrufe). Anbieter werden ermutigt, diese Richtlinien im Rückruf zum Ausblenden des Zugriffs der Anwendung zu implementieren.

Sie müssen die Registrierung (Anwendungsfunktion) von Dateitypen nicht weglassen, wenn Symbole ausgeblendet sind. Außerdem müssen Sie den Standardstatus der Anwendung für Datei- und Protokolltypen nicht weglassen. Dies kann zu Problemen für Benutzer*innen führen, wenn diese Typen auf der Benutzeroberfläche angezeigt werden.

Nach dem erfolgreichen Ausblenden von Symbolen müssen Sie den IconsVisible-Registrierungswert wie im Folgenden gezeigt auf „0“ aktualisieren:

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  IconsVisible = 0

Der IconsVisible-Eintrag entspricht dem REG_DWORD-Typ.

Alternative Methode zum Ausblenden von Symbolen in SPAD

Bei einigen Legacyanwendungen ist eine vollständige Implementierung der Ausblendung des Zugriffs möglicherweise nicht praktikabel. Eine alternative Methode, die denselben Effekt erzielt, besteht darin, die Anwendung zu deinstallieren. Der folgende Abschnitt zeigt Beispielverhaltensweisen und Beispielcode zur Implementierung dieser Alternative. Im Allgemeinen sollten unabhängige Softwarehersteller (ISVs) diese Alternative vermeiden, da hierbei die folgenden Schritte ausgeführt werden:

  • Vollständiges Deinstallieren der Anwendung vom System
  • Entfernen zuvor ausgewählter Standards
  • Keine verfügbare Benutzeroberflächenoption zum erneuten Installieren der Anwendung
  • Keine Verfügbarkeit des Features zum Aktivieren des Zugriffs, da die Anwendung bei einer Deinstallation vollständig aus SPAD entfernt wird

Die empfohlenen Schritte lauten wie folgt:

  • Wenn die Benutzer*innen das Kontrollkästchen Zugriff auf dieses Programm aktivieren in SPAD deaktivieren, wird die folgende Benutzeroberfläche angezeigt.

    dialog box about hiding access to the program

  • Wenn die Benutzer*innen auf OK klicken, wird das Systemsteuerung-Element Programme und Funktionen gestartet, damit die sie die Anwendung deinstallieren können.

  • Windows XP-Benutzer*innen sollte dieses Dialogfeld angezeigt werden.

    equivalent windows xp dialog box

  • Wenn die Windows XP-Benutzer*innen auf OK klicken, wird das Systemsteuerung-Element Programme hinzufügen oder entfernen gestartet, damit sie die Anwendung deinstallieren können.

Der folgende Code stellt wie zuvor beschrieben eine wiederverwendbare Implementierung für das Feature zum Ausblenden des Zugriffs bereit. Sie kann unter Windows XP, Windows Vista und Windows 7 verwendet werden.

#include <windows.h>
#include <shlwapi.h>
#include <strsafe.h>

PCWSTR c_pszMessage1 = L"To hide access to this program, you need to uninstall it by ";
PCWSTR c_pszMessage2 = L"using\n%s in Control Panel.\n\nWould you like to start %s?";
PCWSTR c_pszApplicationName  = L"Sample App";

int _tmain(int argc, WCHAR* argv[])
{
    OSVERSIONINFO version;
    version.dwOSVersionInfoSize = sizeof(version);

    if (GetVersionEx(&version))
    {
        PCWSTR pszCPLName = NULL;

        if (version.dwMajorVersion >= 6)
        {
            // Windows Vista and later
            pszCPLName = L"Programs and Features";
        }
        else if (version.dwMajorVersion == 5 &&
                 version.dwMinorVersion == 1)
        {
            // Windows XP
            pszCPLName = L"Add/Remove Programs";
        }

        if (pszCPLName != NULL)
        {
            WCHAR szMessage[256], szScratch[256];
            if (SUCCEEDED(StringCchPrintf(szScratch, 
                                          ARRAYSIZE(szScratch), 
                                          c_pszMessage2, 
                                          pszCPLName, 
                                          pszCPLName)))
            {
                if (SUCCEEDED(StringCchCopy(szMessage, 
                                            ARRAYSIZE(szMessage), 
                                            c_pszMessage1)))
                {
                    if (SUCCEEDED(StringCchCat(szMessage, 
                                               ARRAYSIZE(szMessage), 
                                               szScratch)))
                    {
                        if (IDOK == MessageBox(NULL, 
                                               szMessage, 
                                               c_pszApplicationName, 
                                               MB_OKCANCEL))
                        {
                            ShellExecute(NULL, 
                                         NULL, 
                                         L"appwiz.cpl", 
                                         NULL, 
                                         NULL, 
                                         SW_SHOWNORMAL);
                        }
                    }
                }
            }
        }
    }
    return 0;
}

Befehl zum Anzeigen von Symbolen

Die im ShowIconsCommand-Eintrag deklarierte Befehlszeile wird ausgeführt, wenn die Benutzer*innen das Kontrollkästchen Zugriff auf dieses Programm aktivieren auf der Seite Programmzugriff und Computerstandards festlegen aktivieren. Diese Befehlszeile kann die Zugriffspunkte Ihres Programms (einschließlich derer im Start-Menü, auf dem Desktop und in der Start-Gruppe) sowie normale automatische Aufrufe wiederherstellen (z. B. die im Run-Registrierungsschlüssel angegebenen Aufrufe). Die sichtbaren Zugriffspunkte, die für die meisten Anwendungen von Interesse sind, werden im Befehl zum Ausblenden von Symbolen aufgeführt. Die Anwendung sollte die Standardeinstellungen für die jeweiligen Benutzer*innen nicht ändern. Diese Änderung sollte von den Benutzer*innen über die Option Standardprogramme vorgenommen werden.

Sobald Ihre Symbole erfolgreich angezeigt werden, müssen Sie den IconsVisible-Registrierungswert wie im Folgenden gezeigt auf „1“ aktualisieren:

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  IconsVisible = 1

Beachten Sie, dass der ShowIconsCommand-Eintrag nicht verwendet wird, wenn Sie den HideIconsCommand-Eintrag verwendet haben, um eine Deinstallation der Anwendung aufzufordern. Er sollte während des Deinstallationsprozesses zusammen mit den restlichen Informationen der Anwendung aus der Registrierung entfernt werden.

Gruppenprogrammkonfiguration

Hinweis

Dieser Abschnitt gilt nicht für Windows 2000.

 

Im Zuge der Systemvorbereitung kann ein Originalgerätehersteller (OEM) eine Konfiguration einrichten, durch die Zugriffspunkte für den Microsoft-Browser, E-Mails, die Medienwiedergabe, Chats oder virtuelle Computer für Java-Clientprogramme ausgeblendet und stattdessen eigene Standardprogramme angegeben werden. OEMs können es Benutzer*innen ermöglichen, ihre Computer jederzeit auf diese Standardkonfiguration zurückzusetzen, indem sie die folgenden Registrierungswerte festlegen.

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            CanonicalName
               InstallInfo
                  OEMShowIcons = 1
                  OEMDefault = 1

Wenn diese Schlüssel festgelegt sind, können Benutzer*innen die OEM-Konfiguration wiederherstellen, indem sie auf der Seite Programmzugriff und Computerstandards festlegen die OptionComputerhersteller auswählen. Wenn diese Schlüssel nicht festgelegt sind, wird die Option Computerhersteller nicht angezeigt.

Wenn der Eintrag OEMShowIcons vorhanden ist, wird damit der Symbolanzeigestatus für den angegebenen Client festgelegt, der angewendet wird, wenn die Benutzer*innen Computerhersteller auswählen. Wenn der Wert auf „1“ festgelegt ist, werden Symbole angezeigt, und beim Wert „0“ werden Symbole nicht angezeigt. Wenn OEMShowIcons nicht vorhanden ist, hat die Auswahl von Computerhersteller keine Auswirkung auf die Symbolanzeigeeinstellung. OEMShowIcons entspricht dem REG_DWORD-Typ.

Wenn der OEMDefault-Eintrag vorhanden und auf „1“ festgelegt ist, wird die OEM-Einstellung für den Standardclient des angegebenen Typs festgelegt. Nur ein Client eines bestimmten Typs kann als OEM-Standard gekennzeichnet werden. Wenn mehr als eine Clientregistrierung den OEMDefault-Eintrag enthält, werden alle ignoriert, und der aktuelle Client wird weiterhin als Standardclient verwendet. Wenn der OEMDefault-Eintrag nicht vorhanden ist oder vorhanden und auf „0“ festgelegt ist, wird dieser bestimmte Client nicht als Standardclient verwendet, wenn Benutzer*innen Computerhersteller auswählen. OEMDefault entspricht dem REG_DWORD-Typ.

Neben der Option zum Zurücksetzen des Computers auf die vom OEM festgelegte Standardkonfiguration haben Benutzer*innen drei weitere Konfigurationsoptionen:

  • Festlegen des Computers auf eine Microsoft Windows-Konfiguration: In diesem Fall ermöglicht die Seite Programmzugriff und Computerstandards festlegen den Zugriff auf alle Microsoft- und Nicht-Microsoft-Softwarekomponenten auf dem Computer, die in den relevanten Produktkategorien registriert sind. Microsoft Windows-Programme werden als Standardoption für jede Kategorie ausgewählt.
  • Festlegen des Computers auf eine Nicht-Microsoft-Konfiguration: Bei dieser Konfiguration werden Zugriffspunkte (z. B. das Start-Menü) für den Windows Internet Explorer, Windows Media Player, Windows Messenger und Microsoft Outlook Express ausgeblendet. Sie ermöglicht den Zugriff auf die Nicht-Microsoft-Software auf dem Computer in diesen Kategorien. Wenn ein Nicht-Microsoft-Programm in einer Kategorie verfügbar ist, wird es außerdem als Standard für diese Kategorie festgelegt. Wenn mehr als ein Nicht-Microsoft-Programm in einer Kategorie verfügbar ist, werden die Benutzer*innen aufgefordert, auszuwählen, welches Nicht-Microsoft-Programm als Standard verwendet werden soll.
  • Einrichten einer benutzerdefinierten Konfiguration: Benutzer*innen treffen ihre eigene Auswahl zum Aktivieren oder Entfernen des Zugriffs und kombinieren Microsoft- und Nicht-Microsoft-Programme nach eigenem Ermessen. Sie richten Standardoptionen auf Kategoriebasis ein.

Benutzer*innen können diese Optionen jederzeit ändern.

Beispiel für Browserregistrierung

Das folgende Beispiel veranschaulicht die vollständige InstallInfo-Registrierung für einen fiktiven Lit View-Browser. Durch die Befehlszeilenoptionen kann die Datei „Litview.exe“ in diesem Fall alle Aktionen ausführen, die für die jeweiligen Werte erforderlich sind.

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\Litview.exe" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\Litview.exe" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\Litview.exe" /showicons
                  IconsVisible = 1

Beachten Sie, dass Anführungszeichen um die Pfade herum platziert werden, da sie eingebettete Leerzeichen enthalten.

Registrierungselemente für bestimmte Clienttypen

Die folgenden Informationen finden Sie auch in den Ressourcen, die am Ende dieses Artikels im Abschnitt „Ähnliche Artikel“ aufgeführt sind.

Startmenüregistrierung

Unter Windows XP wurden Standardeinstellungen in der Regel auf Computerebene (HKEY_LOCAL_MACHINE) anstatt auf Benutzerebene (HKEY_CURRENT_USER) registriert. Durch die Einführung der Benutzerkontensteuerung (User Account Control, UAC) unter Windows Vista müssen Anwendungen, die die Internet- und E-Mail-Slots im Start-Menü beanspruchen, den Befehl für eine erneute Installation innerhalb des richtigen Ausführungskontexts implementieren.

Hinweis

Der E-Mail-Link im Startmenü wurde ab Windows 7 entfernt. Die in diesem Abschnitt beschriebene Registrierung sollte jedoch weiterhin ausgeführt werden, da sie den MAPI-Standardclient zuweist.

 

Benutzer*innen mit eingeschränkten Berechtigungen können unter Windows XP, Windows Vista oder Windows 7 nicht auf SPAD zugreifen. Aus diesem Grund wird Entwickler*innen nahegelegt, das Systemsteuerung-Element Standardprogramme festlegen zu registrieren, damit alle Benutzer*innen benutzerspezifische Standardeinstellungen für Anwendungen verwalten können.

Die in SPAD vorgenommenen Auswahlen sollten sich nur auf computerspezifische Einstellungen auswirken.

Legen Sie den Registrierungswert wie folgt fest:

HKEY_LOCAL_MACHINE
   Software
      Clients
         ClientTypeName
            (Default) = CanonicalName

Hinweis

Die folgenden Informationen gelten nur für Windows XP.

Wenn die Registrierung der Standardeinstellung auf Computerebene unter „HKEY_LOCAL_MACHINE“ wie oben gezeigt erfolgreich ist, sollte die Anwendung den Wert löschen, der dem (Default)-Eintrag unter dem folgenden Unterschlüssel zugewiesen ist:

HKEY_CURRENT_USER
   SOFTWARE
      Clients
         ClientTypeName

Wenn bei der Registrierung der Standardeinstellung auf Computerebene unter „HKEY_LOCAL_MACHINE“ wie oben gezeigt ein Fehler auftritt (in der Regel aufgrund von fehlenden Schreibberechtigungen für den Unterschlüssel), sollte die Anwendung den folgenden Wert festlegen:

HKEY_CURRENT_USER
   SOFTWARE
      Clients
         ClientTypeName
            (Default) = CanonicalName

Dadurch wird der kanonische Name nur für die aktuellen Benutzer*innen und nicht für alle Benutzer*innen registriert.

 

Nach dem Aktualisieren der Registrierungsschlüssel sollte das Programm die WM_SETTINGCHANGE-Meldung übertragen, wobei wParam = 0 entspricht und lParam auf die mit „0“ endende Zeichenfolge „Software\Clients\ClientTypeName“ zeigt, um das Betriebssystem darüber zu informieren, dass der Standardclient geändert wurde.

Registrierung von E-Mail-Clients

Für einen E-Mail-Client muss das Programm unter dem HKEY_CLASSES_ROOT\mailto-Schlüssel über registrierte Einstellungen verfügen, um URLs zu verwenden, die das mailto-Protokoll nutzen. Legen Sie Werte und Schlüssel fest, die diese Einstellungen unter dem folgenden Schlüssel spiegeln.

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            CanonicalName
               Protocols
                  mailto

Diese Registrierungshierarchie ersetzt die vorhandene Registrierungshierarchie mailto in HKEY_CLASSES_ROOT\mailto. Die Hierarchie bleibt gleich, nur der Speicherort hat sich geändert. Das Format dieser Hierarchie wird auf MSDN unter Asynchrone austauschbare Protokolle: Übersicht und Tutorials erläutert. In der Regel wird das mailto-Protokoll bei einem Programm und nicht bei einem asynchronen Protokoll registriert. In diesem Fall wird das im Artikel Registrieren einer Anwendung für ein URI-Schema beschriebene Schema angewendet.

Das folgende Beispiel zeigt den mailto-Abschnitt der Registrierung bei einem mailto-Handler, der bei einem Programm registriert ist.

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            CanonicalName
               Protocols
                  mailto
                     (Default) = URL:MailTo Protocol
                     EditFlags = 02 00 00 00
                     URL Protocol
                     DefaultIcon
                        (Default) = %FilePath%,IconIndex
                     shell
                        open
                           command
                              (Default) = command line

Der EditFlags-Registrierungswert wird in Dateitypen im Abschnitt mit dem Titel „Definieren von Dateitypattributen“ beschrieben.

Vollständige Beispielregistrierungen

Die folgenden Beispiele werden bereitgestellt, um die vollständigen Registrierungsanforderungen für die verschiedenen Clienttypen darzustellen.

Beispielbrowser

HKEY_LOCAL_MACHINE
   Software
      Clients
         StartMenuInternet
            LITVIEW.EXE
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1
                  shell
                     open
                        command
                           (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /homepage

Beispiel für einen E-Mail-Browser

HKEY_LOCAL_MACHINE
   Software
      Clients
         Mail
            Lit View
               (Default) = Lit View
               DLLPath = @C:\Program Files\LItwareInc\LitwareMAPI.dll
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1
               shell
                  open
                     command
                        (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /inbox
               protocols
                  mailto
                     (Default) = URL:MailTo Protocol
                     EditFlags = 02 00 00 00
                     URL Protocol
                     DefaultIcon
                        (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
                     shell
                        open
                           command
                              (Default) = "C:\Program Files\LitwareInc\LITVIEW.EXE" /mailto:%1

Media Player-Beispiel

HKEY_LOCAL_MACHINE
   Software
      Clients
         Media
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

Beispiel für ein Chatprogramm

HKEY_LOCAL_MACHINE
   Software
      Clients
         IM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

Beispiel für einen virtuellen Java-Computer

HKEY_LOCAL_MACHINE
   Software
      Clients
         JavaVM
            Lit View
               (Default) = Lit View
               LocalizedString = @C:\Program Files\LitwareInc\ResourceDLL.dll,-123
               DefaultIcon
                  (Default) = C:\Program Files\LitwareInc\LITVIEW.EXE,1
               InstallInfo
                  ReinstallCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /reinstall
                  HideIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /hideicons
                  ShowIconsCommand = "C:\Program Files\LitwareInc\LITVIEW.EXE" /showicons
                  IconsVisible = 1

Die in den Beispielen genannten Unternehmen, Organisationen, Produkte, Domänennamen, E-Mail-Adressen, Logos, Personen, Orte und Ereignisse sind frei erfunden. Jede Ähnlichkeit mit tatsächlichen Unternehmen, Organisationen, Produkten, Domänennamen, E-Mail-Adressen, Logos, Personen, Orten und Ereignissen ist rein zufällig.

Standardprogramme

Registrieren eines Internetbrowsers oder E-Mail-Clients beim Windows-Startmenü

Internet Explorer-Clientregistrierungslayout (siehe Abschnitt „Definitionen für Clientregistrierungsschlüssel“)

Asynchrone austauschbare Protokolle: Übersicht und Tutorials

Registrieren einer Anwendung bei einem URI-Schema