Installazione di MSI con un aggiornamento MSP
Pubblicato: 3 febbraio 2017 - 19:47
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".
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)