Bonjour,
Question :
Comment mettre à jour la table File d'un fichier MSI.
Réponse :
Faire une requête de mise à jour sur la base de donnée du MSI, avec des requête Update SQL sur la table File
Description :
Passer les attributs de fichier en mode compressé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Const msiOpenDatabaseModeTransact = 1 'créer WindowsInstaller.Installer object Dim oInstaller : Set oInstaller = CreateObject("WindowsInstaller.Installer") 'récupérer le chemin du ficher MSI en ligne de commande strMsiPath = WScript.Arguments(0) 'open the MSI (the first argument supplied to the vbscript) Dim oDatabase : Set oDatabase = oInstaller.OpenDatabase(strMsiPath,msiOpenDatabaseModeTransact) 'créer la vu de la table "File" Dim sql : sql = "UPDATE `File` SET `File`.`Attributes`=16384 WHERE `File`.`Attributes`<>16384" Dim regView : Set regView = oDatabase.OpenView(sql) 'exécuter la requête regView.Execute 'Enregistrer la modification de la bade de donnée oDatabase.Commit Set regRecord = Nothing Set oDatabase = Nothing Set oInstaller = Nothing
Partager