Condividi tramite


Funzione MsiAdvertiseScriptA (msi.h)

La funzione MsiAdvertiseScript copia un file di script pubblicizzato nei percorsi specificati.

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

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

Bandiera Significato
SCRIPTFLAGS_CACHEINFO
0x001
Includere questo flag se le icone devono essere create o rimosse.
SCRIPTFLAGS_SHORTCUTS
0x004
Includere questo flag se i collegamenti devono essere creati o rimossi.
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 tra stringhe senza distinzione tra maiuscole e minuscole e vengono valutati tra installazioni per utente e per computer in tutti i contesti. Se l'elenco di 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 sugli annunci nel Registro di sistema relative alle classi COM devono essere scritte o rimosse.
SCRIPTFLAGS_REGDATA_EXTENSIONINFO
0x100
Includere questo flag se le informazioni sugli annunci nel Registro di sistema correlate a un'estensione devono essere scritte o rimosse.
SCRIPTFLAGS_REGDATA_APPINFO
0x180
Includere questo flag se le informazioni sull'annuncio pubblicitario nel Registro di sistema devono essere scritte o rimosse.
SCRIPTFLAGS_REGDATA
0x1A0
Includere questo flag se le informazioni sull'annuncio pubblicitario 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 nella chiave appropriata, in base al fatto che l'annuncio sia per utente o per computer. Se questo parametro è diverso da 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 utilizzata durante la generazione di un annuncio di un prodotto per un utente o un computer perché il provider della chiave del Registro di sistema in genere elimina la chiave. La chiave del Registro di sistema si trova all'esterno dei normali percorsi 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 anziché essere creati.

Valore restituito

Valore Significato
ERROR_SUCCESS
La funzione è stata completata correttamente.
ERROR_ACCESS_DENIED
Il processo chiamante non era in esecuzione con l'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.
 
 

Osservazioni

Il processo che chiama questa funzione deve essere in esecuzione con l'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 del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
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 Requisiti di windows Run-Time.
piattaforma di destinazione Finestre
intestazione msi.h
libreria Msi.lib
dll Msi.dll

Vedere anche

contesto di installazione