Condividi tramite


Funzione MsiAdvertiseScriptA (msi.h)

La funzione MsiAdvertiseScript copia un file di script annunciato nelle posizioni specificate.

Sintassi

UINT MsiAdvertiseScriptA(
  [in] LPCSTR szScriptFile,
  [in] DWORD  dwFlags,
  [in] PHKEY  phRegData,
  [in] BOOL   fRemoveItems
);

Parametri

[in] szScriptFile

Percorso completo di un file di script generato da MsiAdvertiseProduct o MsiAdvertiseProductEx.

[in] dwFlags

I flag di bit seguenti dall'annuncio del controllo SCRIPTFLAGS. Il valore di dwFlags può essere una combinazione dei valori seguenti.

Flag Significato
SCRIPTFLAGS_CACHEINFO
0x001
Includere questo flag se le icone devono essere create o rimosse.
SCRIPTFLAGS_SHORTCUTS
0x004
Includere questo flag se è necessario creare o rimuovere i collegamenti.
SCRIPTFLAGS_MACHINEASSIGN
0x008
Includere questo flag se il prodotto da assegnare a un computer.
SCRIPTFLAGS_REGDATA_CNFGINFO
0x020
Includere questo flag se le informazioni di configurazione e gestione nei dati del Registro di sistema devono essere scritte o rimosse.
SCRIPTFLAGS_VALIDATE_TRANSFORMS_LIST
0x040
Includere questo flag per forzare la convalida delle trasformazioni elencate nello script rispetto alle trasformazioni registrate in precedenza per questo prodotto. Si noti che i conflitti di trasformazione vengono rilevati usando un confronto di stringhe senza distinzione tra maiuscole e minuscole e vengono valutate tra installazioni per utente e per computer in tutti i contesti. Se l'elenco delle trasformazioni nello script non corrisponde alle trasformazioni registrate per il prodotto, la funzione restituisce ERROR_INSTALL_TRANSFORM_FAILURE.
SCRIPTFLAGS_REGDATA_CLASSINFO
0x080
Includere questo flag se le informazioni pubblicitarie nel Registro di sistema correlate alle classi COM devono essere scritte o rimosse.
SCRIPTFLAGS_REGDATA_EXTENSIONINFO
0x100
Includere questo flag se le informazioni pubblicitarie nel Registro di sistema correlate a un'estensione devono essere scritte o rimosse.
SCRIPTFLAGS_REGDATA_APPINFO
0x180
Includere questo flag se le informazioni pubblicitarie nel Registro di sistema devono essere scritte o rimosse.
SCRIPTFLAGS_REGDATA
0x1A0
Includere questo flag se le informazioni pubblicitarie nel Registro di sistema devono essere scritte o rimosse.

[in] phRegData

Chiave del Registro di sistema in cui devono essere scritte informazioni temporanee sui dati del Registro di sistema. Se questo parametro è Null, i dati del Registro di sistema vengono inseriti sotto la chiave appropriata, in base al fatto che l'annuncio sia per utente o per computer. Se questo parametro non è null, lo script scriverà i dati del Registro di sistema nella chiave del Registro di sistema specificata anziché nella posizione normale. In questo caso, l'applicazione non verrà pubblicizzata all'utente.

Si noti che questa chiave del Registro di sistema non può essere usata quando si genera un annuncio pubblicitario di un prodotto per un utente o un computer perché il provider della chiave del Registro di sistema elimina in genere la chiave. La chiave del Registro di sistema si trova all'esterno delle normali posizioni del Registro di sistema per shell, classe e .msi informazioni di configurazione e non è in HKEY_CLASSES_ROOT. Questa chiave del Registro di sistema è destinata solo a ottenere informazioni temporanee sui dati del Registro di sistema in uno script.

[in] fRemoveItems

TRUE se gli elementi specificati devono essere rimossi invece di essere creati.

Valore restituito

Valore Significato
ERROR_SUCCESS
La funzione è stata completata correttamente.
ERROR_ACCESS_DENIED
Il processo di chiamata non è in esecuzione nell'account LocalSystem.
Errore relativo a un'azione
Vedere Codici di errore.
Errore di inizializzazione
Si è verificato un errore relativo all'inizializzazione.
ERROR_CALL_NOT_IMPLEMENTED
Questa funzione è disponibile solo in Windows 2000 e Windows XP.
 
 

Commenti

Il processo che chiama questa funzione deve essere in esecuzione nell'account LocalSystem. Per annunciare un'applicazione per l'installazione per utente a un utente di destinazione, il thread che chiama questa funzione deve rappresentare l'utente di destinazione. Se il thread che chiama questa funzione non rappresenta un utente di destinazione, l'applicazione viene pubblicizzata a tutti gli utenti per l'installazione con privilegi elevati.

Nota

L'intestazione msi.h definisce MsiAdvertiseScript come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.

Requisiti

   
Client minimo supportato Windows Installer 5.0 in Windows Server 2012, Windows 8, Windows Server 2008 R2 o Windows 7. Windows Installer 4.0 o Windows Installer 4.5 in Windows Server 2008 o Windows Vista. Windows Installer in Windows Server 2003 o Windows XP. Per informazioni sul Service Pack minimo di Windows Richiesto da una versione di Windows Installer, vedere i requisiti di Windows Installer Run-Time.
Piattaforma di destinazione Windows
Intestazione msi.h
Libreria Msi.lib
DLL Msi.dll

Vedi anche

Contesto di installazione