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.

nick rulez
fonte
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.

slotishtype
fonte
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

easl
fonte
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

and31415
fonte
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

Aravinda
fonte
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
Brian
fonte
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.

Blaato
fonte