Pagina 1 di 1

Installazione di MSI con un aggiornamento MSP

Pubblicato: 3 febbraio 2017 - 19:47
di f4242
Buongiorno,

Sto distribuendo il software Antidote. Viene fornito tramite un MSI per l'installazione di base, quindi gli aggiornamenti vengono forniti come file MSP che devono essere passati con l'argomento /update di msiexec.

Ho pensato di usare la variabile "properties" della funzione "install_msi_if_needed" per questo, ma non funziona perché aggiunge un ":" dopo /update (che dovrebbe definire una proprietà, quindi non è un bug in sé).

Non ho trovato un modo per specificare un'opzione aggiuntiva per msiexec utilizzando la funzione "install_msi_if_needed". Suggerisco di aggiungere una variabile "options" alla funzione "install_msi_if_needed" in modo da poter definire opzioni aggiuntive per msiexec.

Per aggirare il problema, ho distribuito la mia applicazione utilizzando la funzione "run".

Codice: Seleziona tutto

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)