Le fichier SvrSvcSetup.exe se trouve bien à la racine du paquet WAPT ?
Il faudrait essayer de lancer la même commande manuellement avec les droits SYSTEM pour voir si ça fonctionne, vous pouvez faire ça à l'aide de PsExec [1] en ouvrant un shell SYSTEM comme ceci : /PsExec.exe -i -s -d cmd/
Vous pouvez sinon faire un print de la commande au moment de l'envoie pour vérifier qu'elle est bonne : /print(r'"%s" -stop_csa'%uninstallexe1)/
Sinon, pour lancer une action à l'ouverture de session uniquement, vous pouvez utiliser la fonction session_setup() [2].
[1] https://technet.microsoft.com/en-us/sysinternals/bb897553 [2] Voir la réponse d'Hubert sur ce thread : http://lists.tranquil.it/pipermail/wapt/2015-September/001293.html
Cordialement, Bastien
Le 24/05/2016 à 11:12, Benjamin MINGUY a écrit :
Voici les variables:
uninstallkey = [] uninstallexe1 = os.path.abspath(makepath('SvrSvcSetup.exe')) uninstallold = makepath('c',programfiles32,'Trend Micro','OfficeScan Client','ntrmv.exe')
Ps : j'ai mis os.path.abspath(makepath('SvrSvcSetup.exe')) pour avoir le chemin absolu, afin de tester si le problème pouvais venir de la. mais je pense que je peux enlever la variable et mettre directement car ca n'a rien changé: *run("**SvrSvcSetup.exe" -stop_csa')*
Le 24 mai 2016 à 10:59, Bastien HERMITTE <bhermitte@b2pweb.com mailto:bhermitte@b2pweb.com> a écrit :
Bonjour, Quelle est la valeur définie pour la variable *uninstallexe1* ? Bastien Le 24/05/2016 à 10:53, Benjamin MINGUY a écrit :
Bonjour, J'ai créé un paquet officescan : *print('arret service') run(r'"%s" -stop_csa'%uninstallexe1)***==> lance un exe fournis par officescan pour forcer l’arrêt du service (je ne peux arrête le service avec la commande "service_stop" car celui-ci est *protégé pour évité l'arret justement).time.sleep(5) print('Modification cle pour desinstallation') registry_set(HKEY_LOCAL_MACHINE,'SOFTWARE\TrendMicro\PC-cillinNTCorp\CurrentVersion\Misc.','Allow uninstall',1) *==> permet une fois le service arrêté, d’autorisé la désinstallation du programme sans mot de passe (obligé pour désinstallation silencieuse) *print('desinstallation officescan 10.5') run(r'"%s" /vs'%uninstallold) *==> désinstallation silencieuse *time.sleep(20) print('installing enfa-officescan x86') run(r'"agent_cloud_x86.msi" /q /norestart')* ==> installation silencieuse C'est seulement une partie du code, mais cela fonctionne parfaitement si j'ouvre une session (n'importe laquelle) et que je push l'installation du paquet, par contre si je n'ouvre pour la session ou j'arrête l'ordinateur (et donc lance la mise à jour avant de s'éteindre) cela ne fonctionne pas. J'ai le message 'accès refusé' qui s'affiche dans la console, qui correspond à la commande *registry_set(...)* car il ne peux pas modifier le clé de registre tant que le service est lancé*, *et l'arret de celui-ci via la commande***run(r'"%s" -stop_csa'%uninstallexe1) *ne fonctionne pas quand la session est fermé. Le service se nomme "TMBMServer", si je lance la commande : * if service_installed('TMBMServer'): if service_is_running('TMBMServer'): service_stop('TMBMServer') * j'ai le message d'erreur*error: (1052, 'ControlService', "La commande demand\xe9e n'est pas valide pour ce service.")* qui apparait car l'option "stop" est protégé. Il y a peut être un autre moyen pour forcer l’arrêt? afin d'éviter d'utiliser leur programme exe qu'ils fournissent. Je ne sais pas comment contourner le problème, a savoir comment forcer l'arret d'un service protégé ou trouvé une solution pour que mon paquet ne se lance qu'une fois qu'une session est ouverte (est ce possible?) Merci de votre aide. Cordialement, -- _______________________________________________ WAPT mailing list WAPT@lists.tranquil.it <mailto:WAPT@lists.tranquil.it> http://lists.tranquil.it/listinfo/wapt
_______________________________________________ WAPT mailing list WAPT@lists.tranquil.it <mailto:WAPT@lists.tranquil.it> http://lists.tranquil.it/listinfo/wapt
--