Page 1 sur 1

Installation de MSI avec une update MSP

Publié : 03 févr. 2017 - 19:47
par f4242
Bonjour,

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)