Je déploie le logiciel Antidote. Celui-ci est fournis à l'aide d'un MSI pour l'installation de base puis les mises à jour sont fournies sous formes de fichier MSP que l'ont doit passer avec l'argument /update de msiexec.
J'ai pensé utiliser la variable "properties" de la fonction "install_msi_if_needed" pour ça, mais ça ne fonctionne pas car celle-ci ajoute un ":" après le /update (ce qui est attendu pour définir une propriété, donc c'est pas un bogue en soit).
Je n'ai pas trouvé de moyen de spécifier une option supplémentaire à msiexec avec la fonction "install_msi_if_needed". Je suggère d'ajouter une variable "options" à la fonction "install_msi_if_needed" afin de pouvoir définir des options supplémentaires à msiexec.
Pour bypasser le problème, j'ai déployé mon application en utilisant la fonction "run".
Code : Tout sélectionner
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)