Ich arbeite an einem System-Imaging-Prozess, bei dem sowohl Chrome als auch Firefox unbeaufsichtigt installiert werden. Ich versuche, eine Möglichkeit zu finden, Firefox als Standardbrowser sowohl für den Systemstandardbenutzer (so dass für jeden neuen Benutzer, der sich anmeldet, FF als Standard festgelegt ist) als auch für den aktuellen Benutzer festzulegen.
In den Firefox-Dokumenten heißt es, dass dies das erreichen sollte, aber es funktioniert nicht:
firefox.exe -silent -setDefaultBrowser
Wenn ich den Prozessmonitor verwende, kann ich sehen, dass der obige Befehl eine Reihe von Dingen in der Registrierung ausführt, aber nachdem ich ihn ausgeführt habe, wurde mein Standardbrowser nicht auf Firefox eingestellt.
Wenn ich Firefox öffne und zu Extras> Optionen> Erweitert gehe und auf die Schaltfläche FF als Standardbrowser festlegen klicke, funktioniert dies.
Das Problem ist, dass ich nicht jedes Mal manuelle Schritte ausführen muss, wenn ein neuer Laptop bereitgestellt wird. Daher muss ich einen Weg finden, um dasselbe über die Befehlszeile zu erreichen.
Ich habe versucht, mithilfe des Prozessmonitors festzustellen, welche Werte Firefox beim Klicken auf diese Schaltfläche festgelegt hat, damit ich sie manuell auf eine andere Weise duplizieren kann. Wenn ich jedoch in FF procmon auf die Schaltfläche zum Festlegen der Standardeinstellungen klicke, werden im wahrsten Sinne des Wortes über 250 Registry-Schreibvorgänge von firefox.exe und angezeigt Ich möchte sie nicht wirklich alle aufspüren.
Kann mir jemand helfen, herauszufinden, warum firefox.exe -silent -setDefaultBrowser nicht funktioniert oder eine andere Möglichkeit bietet, FF als Standardbrowser des Systems / Benutzers festzulegen?
\Software\Classes
TastenHKEY_LOCAL_MACHINE
und konfiguriertHKEY_CURRENT_USER
. (Und es gibt eine Menge - Sie müssen für jeden Dateityp und jede Aktion, die der Browser ausführen soll, Rechenschaft ablegen.) Sie können eine globale Einstellung in HKLM konfigurieren, aber die meisten verantwortungsbewussten Browser-Installer legen sie nur in HKCU fest. Selbst wenn Sie es in HKLM ändern, werden widersprüchliche Einstellungen in HKCU es überschreiben. Um dies zu beheben, benötigen Sie eine Gruppenrichtlinie.Software/Classes
Änderung ist, warum kann ein Prozess auf Kontoebene sie nicht ändern? Ist es eine Gewissheit, dass es unter sein mussHKLM
? Als Referenz ich bin der Lage , ein Konto-Level - Prozess zu schreiben , die einen eigenen Register -mymadeupurihandler://mywebsite.com
Handler.Antworten:
Die Registrierung erfolgt durch die
helper.exe
C:\Program Files (x86)\Mozilla Firefox\uninstall\helper.exe /SetAsDefaultAppGlobal
Der Vollständigkeit halber, wenn jemand den Standardbrowser nur für den aktuellen Benutzer ändern möchte
C:\Program Files (x86)\Mozilla Firefox\uninstall\helper.exe /SetAsDefaultAppUser
quelle
Ich habe das selbst nicht ausprobiert, aber Sie können es möglicherweise einstellen,
HKEY_CLASSES_ROOT\http\shell\open\command
um dies zu erreichen.quelle