web-dev-qa-db-fra.com

Comment trouver le code de mise à niveau pour un fichier MSI installé?

Dans certains cas, il peut y avoir nécessité de récupérer les codes de mise à niveau MSI pour les packages déployés.

Scénarios courants:

  • J'ai repris le projet MSI de quelqu'un d'autre et je dois déterminer quels codes de mise à niveau ont été utilisés pour les versions précédentes qui sont déjà dans la nature. Cela est nécessaire pour gérer les scénarios de mise à niveau. Je n'ai aucune archive de versions nulle part.
  • J'ai accidentellement changé le code de mise à niveau de mon paquet WiX à plusieurs reprises au cours du développement et je dois trouver toutes les versions de code de mise à niveau "à l'état sauvage". Je ne savais pas que les codes de mise à niveau devaient rester stables entre les versions.

Ceci est une question de style Q/A.

Cette question a déjà été abordée dans diverses incarnations, mais ce n'est pas un doublon. Je poste un moyen de le faire qui utilise le interface principale d'automatisation MSI (ou WMI à proprement parler). Cela devrait être plus fiable} que les approches basées sur le registre des réponses précédentes. Cette réponse tente également de résumer les autres méthodes de récupération.

12
Stein Åsmul

Pour répondre à vos exigences concernant l’utilisation directe de WMI, ou pour les moments où vous avez simplement besoin d’un événement ponctuel sans Powershell (ou devez utiliser .bat ou autre), utilisez wmic:

C:\WINDOWS\system32>wmic product list brief
Caption                                                                                              IdentifyingNumber                       Name                                                                                                 Vendor                          Version
    Sourcetree                                                                                           {1B05DFFD-1DB9-48CD-9265-F3976512A579}  Sourcetree                                                                                           Atlassian                       2.6.10.0
    Microsoft Office Access database engine 2007 (English)                                               {90120000-00D1-0409-0000-0000000FF1CE}  Microsoft Office Access database engine 2007 (English)                                               Microsoft Corporation           12.0.4518.1031
    Office 16 Click-to-Run Extensibility Component                                                       {90160000-008C-0000-0000-0000000FF1CE}  Office 16 Click-to-Run Extensibility Component    

Il existe plusieurs options de formatage et de sortie.

0
Orangutech