Seite 1 von 1

MSI mit einem MSP-Update installieren

Veröffentlicht: 3. Februar 2017 - 19:47 Uhr
von f4242
Guten Morgen,

Ich installiere die Antidote-Software. Die Basisinstallation erfolgt über eine MSI-Datei, Updates werden anschließend als MSP-Dateien bereitgestellt, die mit dem Argument /update von msiexec übergeben werden müssen.

Ich habe überlegt, dafür die Variable "properties" der Funktion "install_msi_if_needed" zu verwenden, aber das funktioniert nicht, weil sie nach /update ein ":" hinzufügt (was eine Eigenschaft definieren soll, daher ist es an sich kein Fehler).

Ich habe keine Möglichkeit gefunden, mit der Funktion „install_msi_if_needed“ zusätzliche Optionen für msiexec anzugeben. Ich schlage vor, der Funktion „install_msi_if_needed“ eine Variable „options“ hinzuzufügen, um zusätzliche Optionen für msiexec definieren zu können.

Um das Problem zu umgehen, habe ich meine Anwendung mit der "run"-Funktion bereitgestellt.

Code: Alle auswählen

def install():
    print('installing antidote9-fr')
    path = os.path.dirname(os.path.realpath(__file__)) + '\\'

    # ne fonctionne pas, ne supporte pas /update
    #install_msi_if_needed(msi=base_msi, killbefore=antidote_apps, properties={'/update': path + update_msp, 'TRANSFORMS': 'Reseau.mst'})
    #install_msi_if_needed(msi=base_msi_fr, killbefore=antidote_apps, properties={'/update': path + update_msp_fr})

    killalltasks(exenames=antidote_apps)
    run('msiexec /norestart /q /i ' + base_msi + ' /update ' + path + update_msp + ' TRANSFORMS=Reseau.mst')
    run('msiexec /norestart /q /i ' + base_msi_fr + ' /update ' +  path + update_msp_fr)