2016-12-09 3 views
0

De nombreux types de fichiers peuvent être identifiés par leur nombre magique, voir par ex. here.Comment identifier les modules de fusion (fichiers .msm)?

Je veux savoir si un fichier est un module Microsoft Fusion (voir here)

Ne les modules de fusion Microsoft (fichiers .msm) ont un nombre magique? Sinon, comment puis-je savoir par programme si un fichier est un module de fusion? Je ne veux pas compter sur l'extension de fichier (.msm).

Répondre

1

Je ne suis pas sûr si les modules de fusion ont un nombre magique, mais si vous êtes à la recherche d'inspecter en quelque sorte un fichier générique et déterminer si elle est un .msm ou non, vous pourriez peut-être faire quelque chose comme ceci:

  1. Jetez un oeil à la VBScripts ici - https://msdn.microsoft.com/en-us/library/windows/desktop/aa372865(v=vs.85).aspx

  2. Ecrire un script vb personnalisé pour tenter d'appeler OpenDatabase() sur le fichier pour voir si elle est un fichier de base de données d'installation valide. Utilisez le fichier WiRunSQL.vbs pour exécuter une instruction SQL sur le fichier et vérifiez s'il contient la table "Property" avec la valeur "ProductName".
    a. Si oui, c'est un .msi
    b. Sinon, c'est un .msm

+0

Bon indice pour les fonctions de Microsoft. Quelle instruction SQL dois-je exécuter? – stackoverflowwww

+0

J'ai réussi à le faire en python en utilisant le module 'msilib'. Je posterai ma solution complète ci-dessous. – stackoverflowwww