Firefox par defaut pour tous les utilisateurs

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.
Matthieu
Messages : 14
Inscription : 19 sept. 2016 - 20:50

19 sept. 2016 - 21:01

Bonjour,
Je souhaiterais mettre en place un paquet qui rétablirait Firefox comme navigateur par défaut pour tous les utilisateurs d'un poste.
Après quelques recherches et essais sur un poste la commande la plus efficace semble être
C:\Program Files\Mozilla Firefox\unintall\helper.exe /SetAsDefaultGlobal

j'ai donc créé un paquet qui lance cette commande avec :
run(r'C:\Program Files\Mozilla Firefox\unintall\helper.exe /SetAsDefaultGlobal')

Simplement, elle semble s'effectuer sur certains postes et pas d'autres.

Après enquête j'ai l'impression que c'est une affaire de contrôle des comptes utilisateurs.
j'ai donc lancé une modification de la base de registre avant ma commande mais il semble qu'il faille redémarrer les postes pour que la commande soit prise en compte.

Ma question est donc la suivante: Je compte créer deux paquets : le premier désactive le contrôle de compte utilisateur, le second rétablit Firefox par défaut. Comment m'assurer qu'il y a un redémarrage entre l'installation des deux paquets ?

Merci

Matthieu
Avatar de l’utilisateur
MairieDeChallans
Messages : 16
Inscription : 07 juil. 2014 - 15:52

22 sept. 2016 - 17:41

Bonjour,

voici les commandes à intégrer dans votre setup.py pour faire cela :

Pour les système x64 :

Code : Tout sélectionner

"C:\Program Files (x86)\Mozilla Firefox\uninstall\helper.exe" /SetAsDefaultAppGlobal
Pour les x86 :

Code : Tout sélectionner

"C:\Program Files\Mozilla Firefox\uninstall\helper.exe" /SetAsDefaultAppGlobal
Pour vous aider à construire le script vous aurez peut-être besoin des fonctions ci-dessous :

Code : Tout sélectionner

makepath(programfiles32,'Mozilla Firefox','uninstall','helper.exe')
Ainsi que l'exemple ci-dessous pour concatener et lancer la commande

Code : Tout sélectionner

command = r"powershell -NoProfile -NoLogo -NonInteractive -Command import-startlayout -layoutpath screenlayout.bin -mountpath "
path = os.path.normpath('C:\\')
commandsm = ''.join([command,path])
run(commandsm)
Problème constaté :
certaines maj Windows remettent IE par défaut
donc conseil : créé ce paquet indépendamment du nom style tis-firefoxdefautall mis en dépendance du paquet principal firefox
Car comme cela, pour remettre Firefox par défaut, juste régénérer une version de tis-firefoxdefautall qui remettra Firefox par défaut sans réinstaller Firefox.
Matthieu
Messages : 14
Inscription : 19 sept. 2016 - 20:50

23 sept. 2016 - 21:55

Merci,
Je reviens avec plusieurs tests.
Si j'ai bien compris voilà ce que je dois écrire dans le paquet :

Code : Tout sélectionner

commande = makepath(programfiles32,'Mozilla Firefox','uninstall','helper.exe')
parametre = '/SetAsDefaultAppGlobal'
commandsm = ' '.join([commande,parametre])
run(commandsm)
Pourquoi ne puis-je pas faire simplement

Code : Tout sélectionner

run(r'C:\Program Files (x86)\Mozilla Firefox\uninstall\helper.exe /SetAsDefaultAppGlobal')
?
gaelds
Messages : 135
Inscription : 22 nov. 2015 - 08:37

22 mars 2018 - 10:51

Quelqu'un a-t-il réussi ?

Le code

Code : Tout sélectionner

            commande = makepath(programfiles,'Mozilla Firefox','uninstall','helper.exe')
           parametre = '/SetAsDefaultAppGlobal'            
           commandsm = ' '.join([commande,parametre])
            run(commandsm)
me rend :
CalledProcessErrorOutput: Command 'C:\\Program Files\\Mozilla Firefox\\uninstall\\helper.exe /SetAsDefaultAppGlobal' returned non-zero exit status 1.
Output:'C:\Program' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.


et un simple run

Code : Tout sélectionner

run_notfatal(r'"C:\Program Files\Mozilla Firefox\uninstall\helper.exe" /SetAsDefaultAppGlobal')
rend : FATAL ERROR : CalledProcessErrorOutput: Command '"C:\\Program Files\\Mozilla Firefox\\uninstall\\helper.exe" /SetAsDefaultAppGlobal' returned non-zero exit status 2.
Output:
Exit code: 3
Avatar de l’utilisateur
agauvrit
Expert WAPT
Messages : 219
Inscription : 17 nov. 2016 - 10:25
Localisation : Nantes
Contact :

22 mars 2018 - 11:00

Bonjour,

En lisant : http://kb.mozillazine.org/Default_browser#Windows

Code : Tout sélectionner

firefox.exe -silent -setDefaultBrowser
Semble être plus approprié. A lancer dans la partie session_setup() du paquet Firefox et ça devrait rouler pour tous les utilisateurs.

Pour les intéréssés, Firefox 60 arrive cet été avec un ensemble de modèles de GPOs intégrables dans AD (fichiers ADMX) : Alexandre
gaelds
Messages : 135
Inscription : 22 nov. 2015 - 08:37

22 mars 2018 - 11:12

Désolé de faire mon boulet mais le code suivant:

Code : Tout sélectionner

run(r'"C:\Program Files\Mozilla Firefox\firefox.exe" -silent -setDefaultBrowser"')
rend :
FATAL ERROR : CalledProcessErrorOutput: Command '"C:\\Program Files\\Mozilla Firefox\\firefox.exe" -silent -setDefaultBrowser"' returned non-zero exit status 1.

je déplace les guillemets et apostrophes mais rien ne fonctionne...
Avatar de l’utilisateur
agauvrit
Expert WAPT
Messages : 219
Inscription : 17 nov. 2016 - 10:25
Localisation : Nantes
Contact :

22 mars 2018 - 11:33

Le dernier guillemet est en trop "
gaelds
Messages : 135
Inscription : 22 nov. 2015 - 08:37

22 mars 2018 - 11:39

Ah oui effectivement, mais même en corrigeant j'ai toujours une erreur...

Code : Tout sélectionner

run(r'"C:\Program Files\Mozilla Firefox\firefox.exe" -silent -setDefaultBrowser')
FATAL ERROR : CalledProcessErrorOutput: Command '"C:\\Program Files\\Mozilla Firefox\\firefox.exe" -silent -setDefaultBrowser' returned non-zero exit status 1.
Avatar de l’utilisateur
agauvrit
Expert WAPT
Messages : 219
Inscription : 17 nov. 2016 - 10:25
Localisation : Nantes
Contact :

22 mars 2018 - 14:39

Bonjour,

Serait-il possible que des Firefox 32 soient installés sur les posts ?

Le chemin d'appel serait alors C:\Program Files (x86\Mozilla Firefox\

Je n'étais pas à la page concernant la nouvelle procédure pour définir le navigateur par défaut dans Windows 10 :
Je n'ai pas trouvé d'autres méthodes fonctionnelles "scriptables" sous Windows 10 pour Firefox, sauf a passer par un executable tiers : https://github.com/sampalmer/set-default-browser

A tester, mais il est préférable de passer par une GPO..

Alexandre
gaelds
Messages : 135
Inscription : 22 nov. 2015 - 08:37

22 mars 2018 - 14:49

Jusqu'à hier c'est un paquet Firefox 32bits que j'installais partout, mais les derniers paquets "lesfourmisduweb" ont désinstallé cette version 32bits pour installer la 64. Il reste un dossier "C:\Program Files (x86)\Mozilla Firefox" sur les postes mais quasi vide.
Et plus de navigateur par défaut sur les postes, donc les utilisateurs n'arrivent plus à ouvrir les raccourcis de sites présents sur leurs bureau...
Dernière modification par gaelds le 22 mars 2018 - 14:52, modifié 1 fois.
Répondre