Установите 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
источник
Нет проблем. Рад, что это сработало для вас.
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 или файл, который вы можете отправить в программу в качестве ввода

EASL
источник
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

­­

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

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

and31415
источник
Не сбрасывает 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

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

Вот кое-что, чтобы вы начали:

http://technet.microsoft.com/en-us/library/hh147307%28WS.10%29.aspx

Джо Интернет
источник
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 по умолчанию и симуляции нажатия на кнопку для подтверждения.

Blaato
источник