Condividi tramite


Funzione MsiCreateTransformSummaryInfoA (msiquery.h)

La funzione msiCreateTransformSummaryInfo crea informazioni di riepilogo di una trasformazione esistente per includere le condizioni di convalida e errore. L'esecuzione di questa funzione imposta il record di errore, accessibile tramite MsiGetLastErrorRecord.

Sintassi

UINT MsiCreateTransformSummaryInfoA(
  [in] MSIHANDLE hDatabase,
  [in] MSIHANDLE hDatabaseReference,
  [in] LPCSTR    szTransformFile,
  [in] int       iErrorConditions,
  [in] int       iValidation
);

Parametri

[in] hDatabase

Handle per il database contenente le informazioni di riepilogo del nuovo database.

[in] hDatabaseReference

Handle per il database che contiene le informazioni di riepilogo originali.

[in] szTransformFile

Nome della trasformazione a cui vengono aggiunte le informazioni di riepilogo.

[in] iErrorConditions

Condizioni di errore che devono essere eliminate quando viene applicata la trasformazione. Usare uno o più dei valori seguenti.

Condizione di errore Significato
nessuna
0x00000000
Nessuna delle condizioni seguenti.
MSITRANSFORM_ERROR_ADDEXISTINGROW
0x00000001
Aggiunta di una riga esistente.
MSITRANSFORM_ERROR_DELMISSINGROW
0x00000002
Eliminazione di una riga che non esiste.
MSITRANSFORM_ERROR_ADDEXISTINGTABLE
0x00000004
Aggiunta di una tabella esistente.
MSITRANSFORM_ERROR_DELMISSINGTABLE
0x00000008
Eliminazione di una tabella che non esiste.
MSITRANSFORM_ERROR_UPDATEMISSINGROW
0x00000010
Aggiornamento di una riga che non esiste.
MSITRANSFORM_ERROR_CHANGECODEPAGE
0x00000020
Le tabelle codici di trasformazione e database non corrispondono e le relative tabelle codici sono neutre.

[in] iValidation

Specifica le proprietà da convalidare per verificare che la trasformazione possa essere applicata al database. Questo parametro può essere uno o più dei valori seguenti.

Flag di convalida Significato
nessuna
0x00000000
Non convalidare le proprietà.
MSITRANSFORM_VALIDATE_LANGUAGE
0x00000001
La lingua predefinita deve corrispondere al database di base.
MSITRANSFORM_VALIDATE_PRODUCT
0x00000002
Il prodotto deve corrispondere al database di base.
 

Convalidare i flag della versione del prodotto.

Flag di convalida Significato
MSITRANSFORM_VALIDATE_MAJORVERSION
0x00000008
Controllare solo la versione principale.
MSITRANSFORM_VALIDATE_MINORVERSION
0x00000010
Controllare solo le versioni principali e secondarie.
MSITRANSFORM_VALIDATE_UPDATEVERSION
0x00000020
Controllare le versioni principali, secondarie e di aggiornamento.
 

Flag di relazione della versione del prodotto. Nella tabella seguente la versione installata è la versione del pacchetto da trasformare e la versione di base è la versione del pacchetto usata per creare la trasformazione.

Flag di convalida Significato
MSITRANSFORM_VALIDATE_NEWLESSBASEVERSION
0x00000040
Versione installata < versione di base.
MSITRANSFORM_VALIDATE_NEWLESSEQUALBASEVERSION
0x00000080
Versione installata <= versione di base.
MSITRANSFORM_VALIDATE_NEWEQUALBASEVERSION
0x00000100
Versione installata = versione di base.
MSITRANSFORM_VALIDATE_NEWGREATEREQUALBASEVERSION
0x00000200
Versione installata >= versione di base.
MSITRANSFORM_VALIDATE_NEWGREATERBASEVERSION
0x00000400
Versione installata > versione di base.
 

Aggiornare i flag di convalida del codice.

Flag di convalida Significato
MSITRANSFORM_VALIDATE_UPGRADECODE
0x00000800
UpgradeCode deve corrispondere al database di base.

Valore restituito

Questa funzione restituisce UINT.

Osservazioni

La proprietà ProductCode e ProductVersion proprietà devono essere definite nella tabella delle proprietà dei database di base e di riferimento. Se si usa MSITRANSFORM_VALIDATE_UPGRADECODE, è necessario definire anche Proprietà UpgradeCode in entrambi i database. Se queste condizioni non vengono soddisfatte, MsiCreateTransformSummaryInfo restituisce ERROR_INSTALL_PACKAGE_INVALID.

  • Non usare il punto e virgola per nomi file o percorsi, perché viene usato come delimitatore di elenco per trasformazioni, origini e patch.
  • Questa funzione non può essere chiamata da azioni personalizzate. Una chiamata a questa funzione da un'azione personalizzata causa l'esito negativo della funzione.

Nota

L'intestazione msiquery.h definisce MsiCreateTransformSummaryInfo 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
piattaforma di destinazione Finestre
intestazione msiquery.h
libreria Msi.lib
dll Msi.dll

Vedere anche

trasformazioni di database

set di proprietà del flusso di informazioni di riepilogo