Condividi tramite


Funzione MsiSourceListAddSourceExA (msi.h)

La funzione MsiSourceListAddSourceEx aggiunge o riordina il set di origini di una patch o di un prodotto in un contesto specificato. Può anche creare un elenco di origine per una patch che non esiste nel contesto specificato.

Sintassi

UINT MsiSourceListAddSourceExA(
  [in]           LPCSTR            szProductCodeOrPatchCode,
  [in, optional] LPCSTR            szUserSid,
  [in]           MSIINSTALLCONTEXT dwContext,
  [in]           DWORD             dwOptions,
  [in]           LPCSTR            szSource,
  [in, optional] DWORD             dwIndex
);

Parametri

[in] szProductCodeOrPatchCode

ProductCode o GUID patch del prodotto o della patch. Usare una stringa con terminazione Null. Se la stringa è più lunga di 39 caratteri, la funzione ha esito negativo e restituisce ERROR_INVALID_PARAMETER. Questo parametro non può essere NULL.

[in, optional] szUserSid

Questo parametro può essere un SID stringa che specifica l'account utente che contiene il prodotto o la patch. Il SID non viene convalidato o risolto. Un SID non corretto può restituire ERROR_UNKNOWN_PRODUCT o ERROR_UNKNOWN_PATCH. Quando si fa riferimento a un contesto del computer, szUserSID deve essere NULL e dwContext deve essere MSIINSTALLCONTEXT_MACHINE.

Tipo di SID Significato
NULL
NULL indica l'utente attualmente connesso. Quando si fa riferimento all'account utente corrente, szUserSID può essere null e dwContext può essere MSIINSTALLCONTEXT_USERMANAGED o MSIINSTALLCONTEXT_USERUNMANAGED.
SID utente
Specifica l'enumerazione per un determinato utente nel sistema. Un esempio di SID utente è "S-1-3-64-2415071341-1358098788-3127455600-2561".
 
Nota Non è possibile usare la speciale stringa SID s-1-5-18 (sistema) per enumerare prodotti o patch installati come per computer. L'impostazione del valore SID su "S-1-5-18" restituisce ERROR_INVALID_PARAMETER.
 
Nota Non usare la speciale stringa SID s-1-1-0 (tutti). L'impostazione del valore SID su "S-1-1-0" ha esito negativo e restituisce ERROR_INVALID_PARAM.
 

[in] dwContext

Questo parametro specifica il contesto dell'istanza del prodotto o della patch. Questo parametro può contenere uno dei valori seguenti.

Tipo di contesto Significato
MSIINSTALLCONTEXT_USERMANAGED
L'istanza del prodotto o della patch è presente nel contesto gestito per utente.
MSIINSTALLCONTEXT_USERUNMANAGED
L'istanza del prodotto o della patch esiste nel contesto per utente non gestito.
MSIINSTALLCONTEXT_MACHINE
L'istanza del prodotto o della patch è presente nel contesto per computer.

[in] dwOptions

Il valore dwOptions determina l'interpretazione del valore di szProductCodeOrPatchCode e il tipo di origini da cancellare. Questo parametro deve essere una combinazione di una delle costanti MSISOURCETYPE_ seguenti e una delle costanti MSICODE_ seguenti.

Bandiera Significato
MSISOURCETYPE_NETWORK
L'origine è un tipo di rete.
MSISOURCETYPE_URL
L'origine è un tipo di URL.
MSICODE_PRODUCT
szProductCodeOrPatchCode è un codice prodotto.
MSICODE_PATCH
szProductCodeOrPatchCode è un codice patch.

[in] szSource

Origine da aggiungere o spostare. Questo parametro deve contenere solo il percorso senza il nome file. Il nome file è già registrato come "PackageName" e può essere modificato tramite MsiSourceListSetInfo. Questo argomento è obbligatorio.

[in, optional] dwIndex

Questo parametro fornisce il nuovo indice per l'origine. Tutte le origini vengono indicizzate nell'elenco di origine da 1 a N, dove N è il numero di origini nell'elenco. Ogni origine nell'elenco ha un indice univoco.

Se msiSourceListAddSourceEx viene chiamato con una nuova origine e dwIndex impostato su 0 (zero), la nuova origine viene aggiunta all'elenco esistente. Se dwIndex è impostato su 0 e l'origine esiste già nell'elenco, non viene eseguito alcun aggiornamento nell'elenco.

Se MsiSourceListAddSourceEx viene chiamato con una nuova origine e dwIndex impostato su un valore diverso da zero minore di count (N), la nuova origine viene inserita nell'indice specificato e le altre origini vengono reindicizzare. Se l'origine esiste già, viene spostata nell'indice specificato e le altre origini vengono reindicizzare.

Se MsiSourceListAddSourceEx viene chiamato con una nuova origine e dwIndex impostato su un valore diverso da zero maggiore del numero di origini (N), la nuova origine viene aggiunta all'elenco esistente. Se l'origine esiste già, viene spostata alla fine dell'elenco e le altre origini vengono indicizzate nuovamente.

Valore restituito

La funzione msiSourceListAddSourceEx restituisce i valori seguenti.

Valore Significato
ERROR_ACCESS_DENIED
L'utente non ha la possibilità di aggiungere o spostare un'origine. Non indica se il prodotto o la patch è stato trovato.
ERROR_BAD_CONFIGURATION
I dati di configurazione sono danneggiati.
ERROR_INSTALL_SERVICE_FAILURE
Impossibile accedere al servizio Windows Installer.
ERROR_SUCCESS
L'origine è stata inserita o aggiornata.
ERROR_UNKNOWN_PRODUCT
Il prodotto specificato è sconosciuto.
ERROR_UNKNOWN_PATCH
La patch specificata è sconosciuta.
ERROR_FUNCTION_FAILED
Errore interno imprevisto.

Osservazioni

Gli amministratori possono modificare l'installazione di un prodotto o di un'istanza di patch esistente nel contesto del computer o nel proprio contesto per utente (gestito o non gestito). Possono modificare l'installazione di un prodotto o di un'istanza di patch esistente in qualsiasi contesto gestito dall'utente. Gli amministratori non possono modificare l'installazione di un altro utente di un prodotto o di un'istanza di patch presente nel contesto non gestito dell'altro utente.

Gli utenti non amministratori non possono modificare l'installazione di un prodotto o di un'istanza di patch esistente nel contesto per utente di un altro utente (gestito o non gestito). Possono modificare l'installazione di un prodotto o di un'istanza di patch esistente nel proprio contesto per utente non gestito. Possono modificare l'installazione di un prodotto o un'istanza di patch nel contesto del computer o nel proprio contesto gestito per utente solo se sono abilitati per cercare un prodotto o un'origine patch. Gli utenti possono essere abilitati per cercare le origini impostando i criteri. Per altre informazioni, vedere i criteri diDisableBrowse , AllowLockdownBrowsee AlwaysInstallElevated.

Nota

L'intestazione msi.h definisce MsiSourceListAddSourceEx 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. 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

AllowLockdownBrowse

AlwaysInstallElevated

DisableBrowse

MsiSourceListSetInfo

non supportato in Windows Installer 2.0 e versioni precedenti

ProductCode

di resilienza di origine