Condividi tramite


Uso di Gestione riavvio con un programma di installazione primario

La procedura seguente descrive come usare Gestione riavvio per arrestare e riavviare applicazioni e servizi. Quando si usa Gestione riavvio con un singolo programma di installazione, questo programma di installazione è anche il programma di installazione principale che controlla l'interfaccia utente.

Per usare Gestione riavvio con un programma di installazione primario

  1. Il programma di installazione chiama la funzione RmStartSession per avviare la sessione di Gestione riavvio e ottenere un handle di sessione e una chiave.

  2. Il programma di installazione chiama la funzione RmRegisterResources per registrare le risorse. Gestione riavvio può usare solo le risorse registrate per determinare quali applicazioni e servizi devono essere arrestati e riavviati. Tutte le risorse che possono essere interessate dall'installazione devono essere registrate con la sessione. Le risorse possono essere identificate da nome file, nome breve del servizio o struttura RM_UNIQUE_PROCESS .

  3. Il programma di installazione chiama la funzione RmGetList per ottenere una matrice di strutture RM_PROCESS_INFO che elenca tutte le applicazioni e i servizi che devono essere arrestati e riavviati.

    Se il valore del parametro lpdwRebootReason restituito dalla funzione RmGetList è diverso da zero, Restart Manager non è in grado di liberare una risorsa registrata dall'arresto di un'applicazione o di un servizio. In questo caso, è necessario un arresto e un riavvio del sistema per continuare l'installazione. Il programma di installazione deve richiedere all'utente un'azione, arrestare programmi o servizi oppure pianificare un arresto e un riavvio del sistema.

    Se il valore del parametro lpdwRebootReason restituito dalla funzione RmGetList è zero, il programma di installazione deve chiamare la funzione RmShutdown . In questo modo vengono arrestati i servizi e le applicazioni che usano risorse registrate. Il programma di installazione deve quindi eseguire le modifiche di sistema necessarie per completare l'installazione. Infine, il programma di installazione deve chiamare la funzione RmRestart in modo che Gestione riavvio possa riavviare le applicazioni che ha arrestato e che sono state registrate per un riavvio.

  4. Il programma di installazione può usare la funzione RmAddFilter per impedire che le applicazioni e i servizi specificati vengano arrestati o riavviati dalle operazioni di Restart Manager. La funzione RmGetFilterList restituisce un elenco delle applicazioni e dei servizi da filtrare dall'arresto e dal riavvio. La funzione RmRemoveFilter rimuove un filtro.

  5. Il programma di installazione chiama la funzione RmEndSession per chiudere la sessione di Restart Manager.

Per un frammento di codice di esempio che mostra l'avvio e l'uso di una sessione di Gestione riavvio tramite un programma di installazione primario e quindi l'aggiunta di un programma di installazione secondario alla sessione esistente, vedere Uso di Gestione riavvio con un programma di installazione secondario.