Встановіть 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

Ця політика повинна зупинити людей, які визначають браузер за замовчуванням.


Жодних проблем. Радий, що це вийшло для вас.
слотиш

+1 також для політики.
MDT Хлопець

У Windows Vista схему реєстрації було відремонтовано. shmgrateІнструмент доступний тільки в Windows 2000 / XP і Windows Server 2003. Крім того , ця політика буде тільки запобігти Internet Explorer від перевірки , є чи він встановлений в якості браузера за замовчуванням.
і31415

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 - це не те саме, що встановити його для браузера OS за замовчуванням.
Ƭᴇ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 Що з налаштуваннями програм за замовчуванням на панелі керування? Чи щось там змінилося? Чи виникли помилки під час виконання пакетного сценарію?
і31415

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

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

@ techie007 Я повністю забув, що Microsoft змінила правила і тепер для більшості цих ключів реєстру існує захист від несанкціонованого захисту. Якщо ви готові протестувати його, я можу надіслати вам оновлену версію сценарію, яка просто очистить зв'язок у Windows 8 та пізніших версіях, щоб наступного разу, коли ви відкриєте посилання чи файл html, Windows дозволить вам вибрати, який саме браузер для використання. Це, мабуть, найкраще, що ви можете досягти в автоматизованому вигляді, оскільки (деяка) взаємодія з користувачем все-таки потрібна.
і31415

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.