Установите Internet Explorer в качестве браузера по умолчанию из командной строки


10

Можно ли установить Internet Explorer в качестве браузера по умолчанию для запуска из командной строки?

У меня есть веб-приложение, которое работает только под Internet Explorer, но если случается, что Firefox является браузером по умолчанию, оно не работает. Пользователи находятся в доменной среде, и хотя я пытаюсь запустить наше приложение из пакета следующим образом:

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

приложение не запускается, если я не изменю браузер вручную.


4
Я полагаю, "исправить приложение так, чтобы оно действительно учитывало правильный html вместо того, чтобы ломаться под каждым достойным браузером", не вариант?
— Шадур

1
@Shadur Есть некоторые сферы, где проблемы рассматриваются как особенности ..
— Джозеф Хансен

Полагаться на неправильное поведение, характерное для одного браузера, не является или, по крайней мере, никогда не должно быть функцией.
— Шадур

@ techie007 Я сам не проверял, но вы можете проверить здесь и здесь .
— avirk

Сделать IE браузером по умолчанию - плохая идея.
— Jet

Ответы:


10

Эта команда установит IE в качестве браузера по умолчанию:

shmgrate.exe OcinstallreinstallIE

Эта политика не должна позволять людям определять браузер по умолчанию.


Нет проблем. Рад, что это сработало для вас.
— slotishtype

+1 за политику тоже.
— MDT Guy

В Windows Vista схема регистрации была пересмотрена. Этот shmgrateинструмент доступен только в Windows 2000 / XP и Windows Server 2003. Кроме того, эта политика не позволяет Internet Explorer проверять, установлен ли он в качестве браузера по умолчанию.
— and31415

3

Вы можете попробовать это, это будет работать

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

ошибка в вашей команде заключалась в том, startчто первая строка в кавычках ожидает название приложения, которое в этом случае вы можете оставить пустым.

для установки в iexplorer.exeкачестве веб - браузера системы по умолчанию, вы можете использовать assocи ftypeкоманды, которые ассоциируются расширения с типами файлов и типов файлов с исполняемыми файлами, например , так:

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

%1 это аргумент здесь - это URL или файл, который вы можете отправить в программу в качестве ввода


1
(Просто) Связывание типа файла HTML, который должен быть открыт IE, не то же самое, что установка в качестве браузера по умолчанию для ОС.
— Ƭᴇcʜιᴇ007

iexplore.exe, а не iexplorer.exe
— InterLinked

1

Windows Vista и более поздние версии, IE 7+

Следующий пакетный скрипт имитирует нажатие кнопки « Установить эти программы по умолчанию» в апплете панели управления «Программы по умолчанию». Протестировано с Vista / 7 и 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

замечания

Любое приложение веб-браузера может зарегистрироваться в качестве интернет-клиента в меню «Пуск». Эта видимость в сочетании с правильной регистрацией файлов приложения и типов протоколов дает статус браузера приложения по умолчанию. Веб-браузер по умолчанию используется для запуска произвольных URL-адресов из любой точки системы.

Примечание. Существующие регистрации [ссылка меню Пуск] игнорируются в Windows 7 и более поздних версиях. Эта регистрация устарела с Windows 7.

Источник: Как зарегистрировать интернет-браузер или почтовый клиент в меню «Пуск» Windows

­­

Иерархическая структура реестра для сопоставлений файлов и протоколов отдает предпочтение настройкам по умолчанию для каждого пользователя по сравнению с настройками на уровне компьютера.

Источник: Программы по умолчанию


Не сбрасывает IE по умолчанию для меня в Windows 8.1. :(
— Ƭᴇcʜιᴇ007

@ techie007 А как насчет настроек программ по умолчанию на панели управления? Там что-нибудь изменилось? Вы получили какие-либо ошибки при выполнении пакетного сценария?
— and31415

Кажется, работает в Windows 7 (Pro, 64-разрядная версия), но в Windows 8 (Pro 32-разрядная версия) он просто показывает (такой же / обычный) вывод «Операция успешно завершена». -- "Нажмите любую клавишу чтобы продолжить . . ." но на самом деле не устанавливает IE по умолчанию.
— Ƭᴇcʜιᴇ007

Под моей другой машиной Windows 8 это работало немного лучше. Я запускаю его, а затем в следующий раз, когда открываю http-ссылку, он спрашивает, какой браузер я хочу использовать. Это достаточно хорошо для меня, так как другие кусочки (AFAICT), кажется, думают, что IE зарегистрирован по умолчанию после этого. Так что моя награда. :)
— Ƭᴇcʜιᴇ007

@ techie007 Я полностью забыл, что Microsoft изменила правила, и теперь для большинства этих ключей реестра предусмотрена защита от взлома. Если вы хотите протестировать его, я могу отправить вам обновленную версию скрипта, которая просто очистит связь в Windows 8 и более поздних версиях, чтобы в следующий раз, когда вы открываете ссылку или html-файл, Windows позволяла вам выбрать, какой браузер для использования. Это, вероятно, лучшее, что вы можете достичь в автоматическом режиме, потому что (в любом случае) потребуется взаимодействие с пользователем.
— and31415

1

Вы можете добавить ниже две строки в файле 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

После запуска bat перезагрузите компьютер / выйдите из системы и снова войдите в систему, так как две вышеуказанные командные строки предназначены для изменения значений реестра.

Подробности можно найти здесь

(Исправлено) -Не могу установить Internet Explorer в качестве браузера по умолчанию! http://www.windowstechinfo.com/2016/03/fixed-cant-set-internet-explorer-as-the-default-browser.html



0

Просто бросьте, startчтобы заставить команду или командный файл работать.

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

1
Мы (ну я во всяком случае) ищу решения по установке браузера по умолчанию из командной строки, а не только решить пример проблемы / причины в ОП.
— Ƭᴇcʜιᴇ007

-1

Для Windows 8 (IE 10+) это простой сценарий 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

Будет запущена страница IE для изменения IE по умолчанию и симуляции нажатия на кнопку для подтверждения.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.