MsiDatabaseImportA, fonction (msiquery.h)
La fonction MsiDatabaseImport importe un programme d’installation fichier d’archivage texte dans une table de base de données ouverte.
Syntaxe
UINT MsiDatabaseImportA(
[in] MSIHANDLE hDatabase,
[in] LPCSTR szFolderPath,
[in] LPCSTR szFileName
);
Paramètres
[in] hDatabase
Handle vers la base de données obtenue à partir de MsiOpenDatabase.
[in] szFolderPath
Spécifie le chemin d’accès au dossier qui contient des fichiers d’archivage.
[in] szFileName
Spécifie le nom du fichier à importer.
Valeur de retour
La fonction MsiDatabaseImport
Remarques
Lorsque vous utilisez la fonction MsiDatabaseImport pour importer une table d’archive de texte nommée _SummaryInformation dans une base de données du programme d’installation, vous écrivez le flux « 05SummaryInformation ». Ce flux contient des propriétés standard qui peuvent être consultées à l’aide de l’Explorateur Windows et qui sont définies par COM. Les lignes de la table sont écrites dans le flux de propriétés sous forme de paires de numéros d’ID de propriété et de valeurs de données correspondantes. Consultez ensemble de propriétés de flux d’informations récapitulatives. La date et l’heure dans _SummaryInformation sont au format : AAAA/MM/DD hh ::mm ::ss. Par exemple, 1999/03/22 15:25:45. Si la table contient des flux binaires, le nom du flux se trouve dans le champ de données et le flux réel est récupéré à partir d’un fichier de ce nom dans un sous-dossier portant le même nom que la table.
Les fichiers d’archive texte exportés à partir d’une base de données par MsiDatabaseExport sont destinés à être utilisés avec des systèmes de contrôle de version et ne sont pas destinés à être utilisés comme moyen de modifier des données. Utilisez les fonctions et outils de l’API de base de données conçus à cet effet. Notez que les caractères de contrôle dans les fichiers d’archive de texte sont traduits pour éviter les conflits avec les délimiteurs de fichiers. Si un fichier d’archive de texte contient des données non ASCII, il est marqué avec la page de codes des données et ne peut être importé que dans une base de données de cette page de codes exacte ou dans une base de données neutre. Les bases de données neutres sont définies sur la page de codes du fichier importé. Une base de données peut être définie inconditionnellement sur une page de codes particulière en important une pseudo table nommée : _ForceCodepage. Le format d’un tel fichier est : deux lignes vides, suivies d’une ligne qui contient la page de codes numérique, un délimiteur d’onglets et la chaîne exacte : _ForceCodepage
Cette fonction ne peut pas être appelée à partir d’actions personnalisées. Un appel à cette fonction à partir d’une action personnalisée provoque l’échec de la fonction.
Si la fonction échoue, vous pouvez obtenir des informations d’erreur étendues à l’aide de MsiGetLastErrorRecord.
Note
L’en-tête msiquery.h définit MsiDatabaseImport comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Installer 5.0 sur Windows Server 2012, Windows 8, Windows Server 2008 R2 ou Windows 7. Windows Installer 4.0 ou Windows Installer 4.5 sur Windows Server 2008 ou Windows Vista. Windows Installer sur Windows Server 2003 ou Windows XP |
plateforme cible | Windows |
d’en-tête | msiquery.h |
bibliothèque | Msi.lib |
DLL | Msi.dll |