it-swarm.com.de

Wie finde ich den Upgrade-Code für eine installierte MSI-Datei?

In bestimmten Fällen kann die Notwendigkeit, MSI-Aktualisierungscodes für bereitgestellte Pakete abzurufen auftreten.

Häufige Szenarien:

  • Ich habe das MSI-Projekt einer anderen Person übernommen und muss feststellen, welche Upgrade-Codes für frühere Versionen verwendet wurden, die bereits in der Wildnis sind. Dies ist erforderlich, um Upgrade-Szenarien zu behandeln. Ich habe nirgends ein Archiv von Releases.
  • Ich habe den Upgrade-Code für mein WiX-Paket während der Entwicklung mehrmals versehentlich geändert und muss alle Upgrade-Code-Versionen "in the wild" finden. Mir war nicht bewusst, dass die Upgrade-Codes zwischen den Versionen stabil bleiben sollen.

Dies ist eine Q/A-Stilfrage.

Diese Frage ist bereits in verschiedenen Inkarnationen aufgetaucht, aber dies ist kein Duplikat. Ich poste einen Weg dazu, der Haupt-MSI-Automationsschnittstelle (oder genau genommen WMI) verwendet. Es sollte sollte zuverlässiger sein als registrierungsbasierte Ansätze aus vorherigen Antworten. Diese Antworten versuchen auch andere Abrufmethoden zu beschreiben.

12
Stein Åsmul

Um Ihre Anforderungen für die direkte Verwendung von WMI zu erfüllen, oder wenn Sie nur einmalig ohne Powershell (oder .bat oder was auch immer) benötigen, verwenden Sie 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    

Es gibt mehrere Formatierungs- und Ausgabeoptionen.

0
Orangutech