Définissez Internet Explorer comme navigateur par défaut à partir de la ligne de commande

10

Est-il possible de définir Internet Explorer comme navigateur par défaut à lancer à partir de la ligne de commande?

J'ai une application Web qui ne fonctionne que sous Internet Explorer, mais s'il arrive que Firefox soit le navigateur par défaut, cela ne fonctionne pas. Les utilisateurs sont dans un environnement de domaine et même si j'essaie de lancer notre application à partir d'un lot de cette manière:

start "C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page

l'application ne démarre que si je change de navigateur manuellement.

nick rulez
la source
4
Je suppose que "corriger l'application pour qu'elle respecte réellement le bon html au lieu de tomber sous tous les navigateurs décents" n'est pas une option?
Shadur
1
@Shadur Il y a des sphères où les problèmes sont considérés comme des caractéristiques ..
Joseph Hansen
S'appuyer sur un comportement défectueux spécifique à un seul navigateur n'est pas, ou du moins ne devrait jamais être, une fonctionnalité.
Shadur
@ techie007 Je ne l'ai pas testé moi-même mais vous pouvez vérifier ici et ici .
avirk
Faire un navigateur par défaut d'IE est une mauvaise idée.
Jet

Réponses:

10

Cette commande définira IE comme navigateur par défaut:

shmgrate.exe OcinstallreinstallIE

Cette stratégie devrait empêcher les utilisateurs de déterminer le navigateur par défaut.

slotishtype
la source
Pas de problème. Heureux que cela ait fonctionné pour vous.
slotishtype
+1 pour la politique également.
MDT Guy
Sous Windows Vista, le schéma d'enregistrement a été révisé. L' shmgrateoutil est uniquement disponible dans Windows 2000 / XP et Windows Server 2003. En outre, cette stratégie empêchera simplement Internet Explorer de vérifier s'il est défini comme navigateur par défaut.
and31415
3

vous pouvez l'essayer, cela fonctionnera

start "" "C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page

l'erreur dans votre commande était que la startpremière chaîne entre guillemets était le titre de l'application, que dans ce cas vous pouvez laisser vide.

pour définir iexplorer.execomme navigateur Web par défaut du système, vous pouvez utiliser les commandes assocet ftype, qui associent les extensions aux types de fichiers et les types de fichiers aux fichiers exécutables, comme suit:

assoc .html=htmlfile
ftype htmlfile="C:\Program Files\Internet Explorer\iexplore.exe" %1

%1 est l'argument ici - c'est l'URL ou le fichier que vous pouvez envoyer au programme en entrée

Easl
la source
1
(Juste) L'association du type de fichier HTML à ouvrir par IE ne revient pas à le définir comme navigateur par défaut du système d'exploitation.
Ƭᴇcʜιᴇ007
iexplore.exe, pas iexplorer.exe
InterLinked
1

Windows Vista et versions ultérieures, IE 7+

Le script de commandes suivant simule le fait de cliquer sur Définir ces programmes par défaut dans l'applet du panneau de configuration Programmes par défaut. Testé avec Vista / 7 et IE 7 / IE 11.

@echo off
setlocal enabledelayedexpansion

REM -- check XHTML support (IE 9+)
set xhtml=0
for /f %%G in ('"reg query "HKCR\IE.AssocFile.XHT" /ve 2>&1 | findstr /c:".XHT" "') do set xhtml=1

REM -- reset file extensions
set exts=HTM,HTML
if %xhtml% == 1 (set exts=%exts%,XHT,XHTML)

for %%G in (%exts%) do (
set ext=%%G
set ext=!ext:~0,3!
reg add "HKCU\Software\Classes\.%%G" /ve /t REG_SZ /d "IE.AssocFile.!ext!" /f >nul
)

set exts=%exts%,MHT,MHTML,URL
set acl=%temp%\acl_%random%%random%.txt

for %%G in (%exts%) do (
set key=HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%%G\UserChoice
echo !key! [1 7 17]>"%acl%"
regini "%acl%" >nul
set ext=%%G
set ext=!ext:~0,3!
reg add "!key!" /v "Progid" /t REG_SZ /d "IE.AssocFile.!ext!" /f >nul
)
del "%acl%" 2>nul

REM -- reset MIME associations
for %%G in (message/rfc822,text/html) do (
set key=HKCU\Software\Microsoft\Windows\Shell\Associations\MIMEAssociations\%%G\UserChoice
reg add "!key!" /v "Progid" /t REG_SZ /d "IE.%%G" /f >nul
)

REM -- reset URL protocols
for %%A in (FTP,HTTP,HTTPS) do (
set key=HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\%%A\UserChoice
reg add "!key!" /v "Progid" /t REG_SZ /d "IE.%%A" /f >nul
for %%B in (DefaultIcon,shell) do (
set key=HKCU\Software\Classes\%%A
reg delete "!key!\%%B" /f >nul 2>&1
reg copy "HKCR\IE.%%A\%%B" "!key!\%%B" /s /f >nul
reg add "!key!" /v "EditFlags" /t REG_DWORD /d 2 /f >nul
reg add "!key!" /v "URL Protocol" /t REG_SZ /d "" /f >nul
))

REM -- reset the start menu Internet link (Vista and earlier)
reg add "HKCU\Software\Clients\StartMenuInternet" /ve /t REG_SZ /d "IEXPLORE.EXE" /f

REM -- reset cached icons
if %xhtml% == 1 (
ie4uinit -cleariconcache
) else (
taskkill /im explorer.exe /f >nul
start explorer
)

pause
exit /b

Remarques

Toute application de navigateur Web peut s'enregistrer pour apparaître comme client Internet dans le menu Démarrer. Cette visibilité, associée à un enregistrement correct des fichiers et des types de protocole d' une application, donne un statut de navigateur par défaut à l'application. Le navigateur Web par défaut est utilisé pour lancer des URL arbitraires depuis n'importe où dans le système.

Remarque Les enregistrements existants [lien du menu Démarrer] sont ignorés dans Windows 7 et versions ultérieures. Cet enregistrement est obsolète à partir de Windows 7.

Source: Comment enregistrer un navigateur Internet ou un client de messagerie avec le menu Démarrer de Windows

­­

La structure de registre hiérarchique pour les associations de fichiers et de protocoles donne la priorité aux valeurs par défaut par utilisateur sur les valeurs par défaut au niveau de la machine.

Source: Programmes par défaut

et31415
la source
Ne réinitialise pas IE par défaut pour moi sur Windows 8.1. :(
Ƭᴇcʜιᴇ007
@ techie007 Qu'en est-il des paramètres des programmes par défaut dans le panneau de configuration? Est-ce que quelque chose a changé là-bas? Avez-vous rencontré des erreurs lors de l'exécution du script de commandes?
and31415
Semble fonctionner sous Windows 7 (Pro, 64 bits), mais sous Windows 8 (Pro 32 bits), il affiche simplement la sortie (identique / habituelle) "L'opération s'est terminée avec succès." -- "Appuyez sur n'importe quelle touche pour continuer . . ." mais ne définit pas réellement IE par défaut.
Ƭᴇcʜιᴇ007
Sous mon autre machine Windows 8, cela fonctionnait un peu mieux. Je l'exécute, puis la prochaine fois que j'ouvre un lien http, il me demande quel navigateur je veux utiliser. C'est assez bon pour moi, car d'autres éléments semblent tous (AFAICT) penser qu'IE est enregistré par défaut après avoir fait cela. Ayez donc ma générosité. :)
Ƭᴇcʜιᴇ007
@ techie007 J'ai totalement oublié que Microsoft a changé les règles et il existe maintenant une protection anti-falsification pour la plupart de ces clés de registre. Si vous êtes prêt à le tester, je peux vous envoyer une version mise à jour du script qui effacera simplement l'association dans Windows 8 et versions ultérieures de sorte que la prochaine fois que vous ouvrirez un lien ou un fichier html, Windows vous permettra de choisir lequel navigateur à utiliser. C'est probablement le meilleur que vous puissiez obtenir de manière automatisée, car une certaine interaction de l'utilisateur serait de toute façon requise.
and31415
1

Vous pouvez ajouter ci-dessous deux lignes dans un fichier bat

reg add "HKCU\Software\Microsoft\Internet Explorer\Main" /f /v "Check_Associations" /d "yes" /t REG_SZ

reg add "HKCU\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice" /f /v "ProgId" /d "IE.HTTP" /t REG_SZ

Après avoir exécuté la batte, redémarrez / déconnectez-vous et reconnectez-vous, car les deux lignes de commande ci-dessus sont destinées à modifier les valeurs de registre.

Les détails supplémentaires peuvent être trouvés ici

(Fixe) -Cant a défini Internet Explorer comme navigateur par défaut! http://www.windowstechinfo.com/2016/03/fixed-cant-set-internet-explorer-as-the-default-browser.html

Aravinda
la source
0

Déposez simplement le startpour que la commande ou le fichier de commandes fonctionne.

"C:\Program Files\Internet Explorer\iexplore.exe" http://server_ip/home_page
Brian
la source
1
Nous cherchons (enfin je suis de toute façon) des solutions pour configurer le navigateur par défaut à partir de la ligne de commande, pas seulement pour résoudre l'exemple de problème / raison dans l'OP.
Ƭᴇcʜιᴇ007
-1

Pour Windows 8 (IE 10+), c'est un script VBS simple:

Dim URL 
Dim IE 
Set IE = CreateObject("internetexplorer.application")
URL = "res://ieframe.dll/defaultbrowser.htm" 
IE.Visible = True
IE.Navigate URL


 Do While IE.Busy
    WScript.Sleep 100
 Loop

IE.Document.getElementById("changeDefaultButton").Click

Il démarrera la page IE pour changer IE par défaut et simulera un clic sur le bouton pour accepter.

Blaato
la source