Estoy implementando el software Antidote. Se proporciona mediante un archivo MSI para la instalación básica, y las actualizaciones se proporcionan como archivos MSP que deben pasarse con el argumento /update de msiexec.
Pensé en usar la variable "propiedades" de la función "install_msi_if_needed" para esto, pero no funciona porque agrega un ":" después de /update (que se espera que defina una propiedad, por lo que no es un error en sí mismo).
No he encontrado la manera de especificar una opción adicional para msiexec mediante la función "install_msi_if_needed". Sugiero agregar una variable "options" a la función "install_msi_if_needed" para que se puedan definir opciones adicionales para msiexec.
Para evitar el problema, implementé mi aplicación usando la función "ejecutar".
Código: Seleccionar todo
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)