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

GUID ProductCode o 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 di 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-312745600-2561".
 
Nota Impossibile usare la stringa SID speciale s-1-5-18 (sistema) per enumerare i prodotti o le patch installate come per computer. L'impostazione del valore SID su "S-1-5-18" restituisce ERROR_INVALID_PARAMETER.
 
Nota La stringa SID speciale s-1-1-0 (tutti) non deve essere usata. 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 di prodotto o patch. Questo parametro può contenere uno dei valori seguenti.

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

[in] dwOptions

Il valore dwOptions determina l'interpretazione del valore 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.

Flag 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 conteggio delle origini nell'elenco. Ogni origine nell'elenco ha un indice univoco.

Se MsiSourceListAddSourceEx viene chiamato con una nuova origine e dwIndex impostata 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 impostata su un valore diverso da zero (N), la nuova origine viene inserita nell'indice specificato e le altre origini vengono ri indicizzate. Se l'origine esiste già, viene spostata nell'indice specificato e le altre origini vengono ri indicizzate.

Se MsiSourceListAddSourceEx viene chiamato con una nuova origine e dwIndex impostata su un valore diverso da zero rispetto al 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 ri indicizzate.

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 è stato trovato il prodotto o la patch.
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.

Commenti

Gli amministratori possono modificare l'installazione di un prodotto o di un'istanza di patch presente 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 presente nel 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 per utente per utente non gestito.

Gli amministratori non possono modificare l'installazione di un prodotto o di un'istanza di patch presente 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 presente nel proprio contesto per utente non gestito. Possono modificare l'installazione di un prodotto o di un'istanza di patch nel contesto del computer o nel proprio contesto gestito dall'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 DisableBrowse, AllowLockdownBrowse e 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 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. 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

AllowLockdownBrowse

AlwaysInstallElevated

DisableBrowse

MsiSourceListSetInfo

Non supportato in Windows Installer 2.0 e versioni precedenti

ProductCode

Resilienza di origine