Contactez nous

Creation d'un paquet sans uninstall key trouvé

Questions about WAPT Packaging / Requêtes et aides autour des paquets Wapt.
Règles du forum

* Questions can be asked in English or in French. If the thread is started in English, stick to English, if it is started in French, stick to French.
* Vous pouvez poser vos questions en Français ou en Anglais. Si un sujet est commencé en français, merci de répondre en français. Si un sujet est commencé en anglais, merci de répondre en anglais.
* Please prefix of the title of the thread to [SOLVED] if it is solved.
* Merci de préfixer le titre du thread par [RESOLU] si il est résolu.

Bonjour,

Que puis je passer en paramètre pour uninstallkey pour que le package s'installe bien ? L'erreur d'uninstallkey ci dessous empeche deja la bonne installation de se faire; en ligne de commande DOS pour l'installation et désinstallation de l'appli aucun souci.

Pas de clé de registre trouvé car le programme en question s'installe dans le profil utilisateur :
wapt-get list-registry XXX
UninstallKey Software Version Uninstallstring
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

J'ai tenté d'ajouté dans le setupy.py : uninstallkey = ['cd %appdata%\XXX\ && unins000.exe /VERYSILENT /NORESTART']

Voici l'erreur :
installing XXX
EWaptException: The uninstall key: cd %appdata%\XXX\ && unins000.exe /VERYSILENT /NORESTART has not been found in system registry after software installation.

Lors de la génération du paquet via la console, j'ai laissé le paramètre Uninstallkey vide pour info.
Si l'application s'installe dans le profil utilisateur, alors il faut mettre le code d'installation dans la fonction session_setup()
du paquet et pas dans la fonction install(). Ensuite, il ne faut pas utiliser les fonction install_exe_if_needed ou install_msi_if_needed qui vérifient l'existence de la clé de registre uninstallkey, mais utiliser simplement run() qui lance une commande (comme dans un cmd) en ne vérifiant rien (excepté le code retour)

Le service wapt fonctionne en compte système. Donc installera l'application dans le profil du compte système...

En général, les installeurs des applications ont un flag permettant de l'installer pour tous les utilisateurs (exemple /ALLUSERS)
Les éditeurs installent souvent dans le profil utilisateur pour contourner les restrictions mises en place par les administrateurs (en particulier utilisateurs en compte restreint)

A noter que dans une infrastructure "Entreprise", pour se protéger des cryptolockers, une bonne pratique est d'activer les stratéies SRP (ou Applocker) et donc il est aussi une bonne pratique de ne pas créer de paquets Wapt qui installent les logiciels en dehors des zones standards (Program files..)
Merci du retour rapide.
Je vais tester ca.