Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Wenn die ausführbare Datei für die Neuverteilung auf einem Computer ausgeführt wird, zeichnet sie ihre Installation status in der Registrierung als HRESULT-Wert auf. Die installations status wird im Registrierungseintrag InstallResult unter dem folgenden Unterschlüssel gespeichert:
HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\Setup
Der Registrierungseintrag InstallResult weist das folgende Formular auf.
| Name | Typ | Wert |
|---|---|---|
| InstallResult | REG_DWORD | Ein HRESULT, das angibt, ob Windows Medienwiedergabe Installation erfolgreich war und ob ein Neustart erforderlich ist. |
Der folgende Code legt die Variablen fSucess und fRebootNeeded aufTrue oder False fest, basierend auf dem HRESULT-Wert , der vom Windows Media-Setup im Komponentenumverteilungspaket geschrieben wurde.
#include <windows.h>
#include <stdio.h>
// If NS_S_REBOOT_REQUIRED is undefined, use 0xD2AF9.
#ifndef NS_S_REBOOT_REQUIRED
#define NS_S_REBOOT_REQUIRED 0xd2af9
#endif
int main( void )
{
HKEY hKey = NULL;
BOOL fSuccess = FALSE;
BOOL fRebootNeeded = FALSE;
LONG lResult = RegOpenKeyEx(
HKEY_CURRENT_USER,
TEXT("Software\\Microsoft\\MediaPlayer\\Setup"),
0,
KEY_QUERY_VALUE,
&hKey
);
if ( lResult == ERROR_SUCCESS )
{
DWORD dwRegType = 0; // Registry value type.
DWORD dwValue = 0; // Registry value.
DWORD cbValue = sizeof( dwValue ); // Size of the value in bytes.
lResult = RegQueryValueEx(
hKey,
TEXT("InstallResult"),
NULL,
&dwRegType,
(LPBYTE)&dwValue,
&cbValue
);
if( lResult == ERROR_SUCCESS )
{
if (dwRegType == REG_DWORD)
{
fSuccess = SUCCEEDED( dwValue );
fRebootNeeded = ( NS_S_REBOOT_REQUIRED == dwValue );
}
}
RegCloseKey( hKey );
}
if( fSuccess )
{
printf( "Setup succeeded." );
}
else
{
printf( "Setup failed." );
}
if( fRebootNeeded )
{
printf( "A reboot IS required.\n" );
}
else
{
printf( "A reboot IS NOT required.\n" );
}
return 0;
}
Zugehörige Themen