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> 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
http://lists.tranquil.it/listinfo/wapt


_______________________________________________
WAPT mailing list
WAPT@lists.tranquil.it
http://lists.tranquil.it/listinfo/wapt




--