Funzione MsiOpenPackageExA (msi.h)
La funzione MsiOpenPackageEx apre un pacchetto da usare con le funzioni che accedono al database del prodotto. La funzione MsiCloseHandle deve essere chiamata con l'handle quando l'handle non è più necessario.
Sintassi
UINT MsiOpenPackageExA(
[in] LPCSTR szPackagePath,
[in] DWORD dwOptions,
[out] MSIHANDLE *hProduct
);
Parametri
[in] szPackagePath
Percorso del pacchetto.
[in] dwOptions
Flag di bit per indicare se ignorare o meno lo stato del computer. Passare 0 (zero) per usare il comportamento MsiOpenPackage .
Costante | Significato |
---|---|
|
Ignorare lo stato del computer durante la creazione dell'handle del prodotto. |
[out] hProduct
Puntatore a una variabile che riceve l'handle del prodotto.
Valore restituito
Valore | Significato |
---|---|
|
Le informazioni di configurazione sono danneggiate. |
|
Impossibile aprire il prodotto. |
|
Windows Installer non consente l'installazione da una connessione Desktop remoto. |
|
Alla funzione viene passato un parametro non valido. |
|
La funzione viene completata correttamente. |
Se questa funzione ha esito negativo, può restituire un codice di errore di sistema. Per altre informazioni, vedere Codici di errore di sistema.
Commenti
Per creare un handle di prodotto limitato indipendentemente dallo stato corrente della macchina e incapace di modificare lo stato corrente della macchina, usare MsiOpenPackageEx con MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE impostato in dwOptions.
Si noti che se dwOptions è MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE o 1, MsiOpenPackageEx ignora lo stato corrente del computer durante la creazione dell'handle di prodotto. Se il valore di dwOptions è 0, MsiOpenPackageEx corrisponde a MsiOpenPackage e crea un handle di prodotto che dipende dal fatto che il pacchetto specificato da szPackagePath sia già installato nel computer.
L'handle con restrizioni creato tramite MsiOpenPackageEx con MSIOPENPACKAGEFLAGS_IGNOREMACHINESTATE consente solo l'esecuzione di dialoghi, un subset delle azioni standard e azioni personalizzate che impostano le proprietà ( tipo di azione personalizzata 35, tipo di azione personalizzata 51 e tipo di azione personalizzata 19). L'handle con restrizioni impedisce l'uso di azioni personalizzate che eseguono librerie a collegamento dinamico, file eseguibili o script.
È possibile chiamare MsiDoAction nelle azioni standard seguenti usando l'handle con restrizioni. Tutte le altre azioni restituiscono ERROR_FUNCTION_NOT_CALLED se viene chiamato con l'handle con restrizioni.
- AMMINISTRAZIONE
- PUBBLICIZZARE
- INSTALLARE
- SEQUENZA
- Azione AppSearch
- CCPSearch
- CostFinalize
- CostInitialize
- FileCost
- FindRelatedProducts
- Azione IsolateComponents
- LaunchConditions
- MigrateFeatureStates
- ResolveSource
- RMCCPSearch
- ValidateProductID
Nota
L'intestazione msi.h definisce MsiOpenPackageEx 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
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 Windows Installer Run-Time Requirements .See the Windows Installer requirements for information about the minimum Windows Service Pack that is required by a Windows Installer version. |
Piattaforma di destinazione | Windows |
Intestazione | msi.h |
Libreria | Msi.lib |
DLL | Msi.dll |