Defina o Internet Explorer como o navegador padrão na linha de comando


10

É possível definir o Internet Explorer como o navegador padrão para iniciar a partir da linha de comando?

Eu tenho um aplicativo da web que roda apenas no Internet Explorer, mas se o Firefox for o navegador padrão, ele não funcionará. Os usuários estão em um ambiente de domínio e, embora eu tente iniciar nosso aplicativo a partir de um lote, desta maneira:

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

o aplicativo não inicia, a menos que eu mude o navegador manualmente.


4
Suponho que "conserte o aplicativo para que ele realmente honre o html adequado em vez de invadir todos os navegadores decentes" não é uma opção?
— Shadur 03/02/19

1
@Shadur Há algumas esferas onde os problemas são vistos como características ..
— Joseph Hansen

Confiar em comportamentos defeituosos específicos de um único navegador não é, ou pelo menos nunca deveria ser, um recurso.
— Shadur

@ techie007 Eu mesmo não testei, mas você pode conferir aqui e aqui .
— Avirk

Tornar o navegador padrão do IE é uma má ideia.
— Jet

Respostas:


10

Este comando definirá o IE como o navegador padrão:

shmgrate.exe OcinstallreinstallIE

Essa política deve impedir que as pessoas determinem o navegador padrão.


Sem probs. Que bom que funcionou para você.
— slotishtype 23/06

+1 para a política também.
— MDT Guy

No Windows Vista, o esquema de registro foi revisado. A shmgrateferramenta está disponível apenas no Windows 2000 / XP e Windows Server 2003. Além disso, essa política impedirá o Internet Explorer de verificar se está definido como o navegador padrão.
— and31415

3

você pode tentar isso, vai funcionar

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

o erro no seu comando foi que startespera que a primeira string entre aspas seja o título do aplicativo, que nesse caso você pode deixar em branco.

para definir iexplorer.execomo navegador da web padrão do sistema, você pode usar assoce ftypecomandos, que associam extensões a tipos de arquivo e tipos de arquivo a arquivos executáveis, como:

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

%1 é o argumento aqui - esse é o URL ou o arquivo que você pode enviar para o programa como uma entrada


1
(Apenas) Associar o tipo de arquivo HTML a ser aberto pelo IE não é o mesmo que configurá-lo como o navegador padrão do sistema operacional.
— precisa saber é o seguinte

iexplore.exe, não iexplorer.exe
— InterLinked

1

Windows Vista e posterior, IE 7+

O script em lotes a seguir simula clicar em Definir este programa como padrão no applet do painel de controle Programas padrão. Testado com Vista / 7 e 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

Observações

Qualquer aplicativo de navegador da web pode se registrar para aparecer como um cliente da Internet no menu Iniciar. Essa visibilidade, juntamente com o registro adequado para os tipos de arquivo e protocolo de um aplicativo, fornece o status padrão do navegador do aplicativo. O navegador da web padrão é usado para iniciar URLs arbitrários de qualquer lugar do sistema.

Nota Os registros existentes [link do menu iniciar] são ignorados no Windows 7 e posterior. Este registro está obsoleto no Windows 7.

Fonte: Como registrar um navegador da Internet ou um cliente de email no menu Iniciar do Windows

­­

A estrutura hierárquica do registro para associações de arquivos e protocolos dá precedência aos padrões por usuário sobre os padrões no nível da máquina.

Fonte: Programas Padrão


Não redefine o IE como padrão para mim no Windows 8.1. :(
— Ƭᴇcʜιᴇ007

@ techie007 E as configurações dos Programas Padrão no painel de controle? Algo mudou lá? Você recebeu algum erro ao executar o script em lote?
— and31415

Parece funcionar no Windows 7 (Pro, 64 bits), mas no Windows 8 (Pro 32 bits) apenas mostra a saída (mesma / usual) "A operação foi concluída com êxito". -- "Pressione qualquer tecla para continuar . . ." mas na verdade não define o IE como padrão.
— Ƭᴇcʜιᴇ007

Na minha outra máquina Windows 8, funcionou um pouco melhor. Eu o executo e, da próxima vez que abro um link http, ele me pergunta qual navegador eu quero usar. Isso é bom o suficiente para mim, pois todos os outros pedaços parecem (AFAICT) para pensar que o IE está registrado como padrão depois de fazer isso. Então, tenha minha recompensa. :)
— Ƭᴇcʜιᴇ007

@ techie007 Esqueci completamente que a Microsoft mudou as regras e agora existe uma proteção anti-adulteração para a maioria dessas chaves do Registro. Se você estiver disposto a testá-lo, posso enviar uma versão atualizada do script que limparia a associação no Windows 8 e posterior para que, na próxima vez em que você abrir um link ou um arquivo html, o Windows deixasse você escolher qual navegador para usar. Provavelmente é o melhor que você pode conseguir de maneira automatizada, porque (de alguma forma) a interação do usuário seria necessária de qualquer maneira.
— and31415

1

Você pode adicionar abaixo de duas linhas em um arquivo 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

Depois de executar o bastão, reinicie / efetue logoff e efetue logoff, pois acima das duas linhas de comando se destina a alterar os valores do registro.

Detalhes adicionais podem ser encontrados aqui

(Fixo) - Você pode definir o Internet Explorer como o Navegador Padrão! http://www.windowstechinfo.com/2016/03/fixed-cant-set-internet-explorer-as-the-default-browser.html



0

Basta soltar o botão startpara que o arquivo de comando ou lote funcione.

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

1
Estamos (pelo menos estou procurando) soluções para definir o navegador padrão na linha de comando, não apenas para resolver o problema / razão de exemplo no OP.
— precisa saber é o seguinte

-1

Para o Windows 8 (IE 10+), é fácil o script VBS:

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

Ele iniciará a página do IE para alterar o IE como padrão e simulará o clique no botão para aceitar.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.