Принесли компьютер с проблемой: «не устанавливается MultiKey на Windows 10 64bit». Провозился пол дня, хотя проблема решается за 5 минут.
Процесс установки MultiKey состоит из двух пунктов:
- Установка Sentinel HASP драйвера
- Установка Multikey (пароль на архив testprotect.com)
С Sentinel HASP проблем не возникло. А вот сам МультиКей заставил пошуршать форумы.
Devcon Failed
Основная проблема заключается в том, что Multikey в Windows 10 никак не может подменить драйвер HASP. Получаем ошибку devcon failed.
Что не помогло:
- включение тестового режима (bcdedit -set TESTSIGNING ON)
- включение режима «без проверки целостности файлов» (bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS)
Что помогло:
- установка MultiKey в режиме с Отключенной обязательной проверкой подписи драйверов.
Чтобы попасть в этот режим, нужно с зажатой клавишей SHIFT перезагрузить компьютер (Пуск -> Перезагрузка). Перед перезагрузкой появится меню:
Если всё сделано правильно, то после перезагрузки появится еще одно меню, непосредственно в котором нужно выбрать режим запуска Windows 10:
Нужная нам клавиша — 7 (или F7).
Установка не подписанного драйвера MultiKey
Windows запущена в нужном режиме. Запускаем нужный нам файл install.cmd от имени администратора.
Windows 10 ругается на то, что подменяемый драйвер не имеет цифровой подписи. Выбираем «Все равно установить этот драйвер». Windows снова ругается и говорит о том, что Требуется драйвер с цифровой подписью.
Жмем закрыть Видим, что драйвер успешно установлен (Drivers installed successfully).
Подписываем драйвер цифровой подписью
Следующим пунктом необходимо подписать наш драйвер. Для этого используем программу Driver Signature Enforcement Overrider (DSEO). Сайт разработчика — ngohq.com.
Запускаем скачанный файл от имени администратора. Выбираем пункт меню «Sign a System File». Жмем Next.
Вводим путь к установленному новому драйверу. c:WindowsSystem32driversmultikey.sys (возможно c:WindowsSystem32multikey.sys или c:WindowsSysWOW64multikey.sys, или еще что-то: пользуйтесь поиском).
Жмем ОК. Dseo подписывает драйвер и предлагает перезагрузить компьютер. Жмем «ОК». Перезагружаем компьютер.
Исправляем ошибку (код 52)
Поскольку драйвер мы подписали неведомым для Microsoft методом, Windows будет продолжать ругаться на наше устройство. Чтобы обойти эту проблему, необходимо загружать компьютер в тестовом режиме. В командной строке, запущенной от имени администратора включаем тестовый режим:
bcdedit -set TESTSIGNING ON
Перезагружаемся. Ошибка исчезла, но появилось предупреждение о том, что windows работает в тестовом режиме. Если надпись не мешает жить — тогда на этом всё. Если надпись напрягает — тогда можно убрать ее при помощи программы Universal Watermark Disabler.
Профит. MultiKey установлен и работает на Windows 10 64 bit.
В данной заметке использовались следующие файлы (скачаны с сайта разработчика, залиты на мой хостинг):
- multikey_20.0.0.7z (пароль testprotect.com)
- dseo13b.exe
- Universal Watermark Disabler
Dreamer17 1 / 1 / 0 Регистрация: 18.05.2010 Сообщений: 28 |
||||
1 |
||||
20.05.2010, 19:07. Показов 39828. Ответов 25 Метки нет (Все метки)
На команду
выдает ошибку devcon failed. Кто знает, что это может быть? Добавлено через 18 часов 7 минут
__________________
0 |
12383 / 7222 / 758 Регистрация: 09.09.2009 Сообщений: 28,180 |
|
21.05.2010, 01:41 |
2 |
C:Documents and SettingsDmitry>devcon мои форточки тоже не знают такой команды
0 |
Почетный модератор 28037 / 15768 / 981 Регистрация: 15.09.2009 Сообщений: 67,753 Записей в блоге: 78 |
|
21.05.2010, 01:54 |
3 |
0 |
1 / 1 / 0 Регистрация: 18.05.2010 Сообщений: 28 |
|
21.05.2010, 14:19 [ТС] |
4 |
мои форточки тоже не знают такой команды Просто закинь этот файл в system32 и все будет видно)) Добавлено через 1 минуту
Я там уже бьл, ничего там толком не написано(((
0 |
12383 / 7222 / 758 Регистрация: 09.09.2009 Сообщений: 28,180 |
|
21.05.2010, 14:25 |
5 |
Просто закинь этот файл в system32 и все будет видно)) Спасибо, но имхо, мне это просто не нужно…
0 |
Почетный модератор 28037 / 15768 / 981 Регистрация: 15.09.2009 Сообщений: 67,753 Записей в блоге: 78 |
|
21.05.2010, 14:41 |
6 |
а откуда берется класс «net» у вас?
0 |
1 / 1 / 0 Регистрация: 18.05.2010 Сообщений: 28 |
|
21.05.2010, 15:02 [ТС] |
7 |
Конечно существует, наберите у себя Devcon status =net , только удаленно ничего не получается((
0 |
Почетный модератор 28037 / 15768 / 981 Регистрация: 15.09.2009 Сообщений: 67,753 Записей в блоге: 78 |
|
21.05.2010, 15:15 |
8 |
мдя действительно… When users do not have the required permissions, Devcon displays a generic «devcon failed» message with no further explanation
1 |
1 / 1 / 0 Регистрация: 18.05.2010 Сообщений: 28 |
|
21.05.2010, 16:42 [ТС] |
9 |
За ссылку спасибо)) Много узнал интересного)) Общем, как я понял с прочитаного, что б получить информацию с удаленного компьютера, нужно иметь на это некоторые права… Только не пойму как сдесь все получилось?
0 |
Почетный модератор 28037 / 15768 / 981 Регистрация: 15.09.2009 Сообщений: 67,753 Записей в блоге: 78 |
|
21.05.2010, 17:37 |
10 |
вот ты скажи, ты от имени кого запускал ?
0 |
1 / 1 / 0 Регистрация: 18.05.2010 Сообщений: 28 |
|
21.05.2010, 17:49 [ТС] |
11 |
Да, от себя…
0 |
Почетный модератор 28037 / 15768 / 981 Регистрация: 15.09.2009 Сообщений: 67,753 Записей в блоге: 78 |
|
21.05.2010, 17:50 |
12 |
нет, на своем компе войди под учеткой «Администратор».
0 |
1 / 1 / 0 Регистрация: 18.05.2010 Сообщений: 28 |
|
21.05.2010, 18:06 [ТС] |
13 |
Так я и сижу под Админом…. Добавлено через 3 минуты
0 |
Почетный модератор 28037 / 15768 / 981 Регистрация: 15.09.2009 Сообщений: 67,753 Записей в блоге: 78 |
|
22.05.2010, 16:50 |
14 |
пробовал. но у меня на работе нет админких прав на одном доступном мне компе, а на втором права есть, но под администратором я не заходил, в понедельник постараюсь проверить…..
0 |
1 / 1 / 0 Регистрация: 18.05.2010 Сообщений: 28 |
|
22.05.2010, 20:47 [ТС] |
15 |
Как я понял, в первом случае у Вас ничего не получилось… Ну что ж, будем ждать понедельника.
0 |
Почетный модератор 28037 / 15768 / 981 Регистрация: 15.09.2009 Сообщений: 67,753 Записей в блоге: 78 |
|
22.05.2010, 23:32 |
16 |
угу, только на админа пароль придется ставить, чего делать не хотелось….
0 |
1 / 1 / 0 Регистрация: 18.05.2010 Сообщений: 28 |
|
22.05.2010, 23:41 [ТС] |
17 |
Пароль можно поставить и тут же удалить, не пойму в чем проблема????
0 |
Почетный модератор 28037 / 15768 / 981 Регистрация: 15.09.2009 Сообщений: 67,753 Записей в блоге: 78 |
|
23.05.2010, 00:00 |
18 |
в чем проблема в уровне сетевой безопсности на предприятии.
0 |
1 / 1 / 0 Регистрация: 18.05.2010 Сообщений: 28 |
|
23.05.2010, 00:47 [ТС] |
19 |
Я конечно не все понял, что Вы написали… но Вам виднее
0 |
Почетный модератор 28037 / 15768 / 981 Регистрация: 15.09.2009 Сообщений: 67,753 Записей в блоге: 78 |
|
23.05.2010, 13:04 |
20 |
ну не админ я на работе, просто пользователь…. Добавлено через 11 часов 45 минут
0 |
The Fix
Replace the following lines in install Drivers.bat
to
with this one
Why this works
- The /d flag will ensure that if you are changing directories to another drive letter, the command doesn’t fail. It basically tells the cd function to also change drives if necessary
- Surrounding the path in quotes ensures that if there is a space in the path, the command doesn’t fail.
- Also condensed multiple cd commands into one.
- and yes, there’s not suppose to be a «» between «%~dp0» and «Drivers». This is intended and correct. Don’t change it.
While I’m at it…
In uninstall Drivers.bat
, change
cd %~dp0
cd HidCerberus.Srv
to
cd /d "%~dp0HidCerberus.Srv"
The easy way
Simply replace your bat files with the ones in this archive file:
fixed bat scripts + request admin permissions.zip
This included the fixes mentioned above. It also requests admin permission on launch, even if the script was not ran as an admin. Feel free to use these batch files in your next release, @MTCKC.
Не является внутренней или внешней командой, исполняемой программой или пакетным файлом — как исправить?
При выполнении команд в командной строке Windows 10 и Windows 11 вы можете получить сообщение об ошибке, где указано первое «слово» вашей команды — adb.exe, pip или python, npm или git, java, telnet или любое другое, а далее — не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
В этой инструкции подробно о том, что означает такое сообщение, почему появляется и как исправить ошибку при выполнении наиболее распространённых команд в командной строке.
- Причины ошибки
- Способы исправить ошибку Не является внутренней или внешней командой
- Видео инструкция
Причины ошибки «Не является внутренней или внешней командой» при выполнении команд в командной строке Windows 10 и Windows 11
Для того, чтобы понять суть ошибки, давайте рассмотрим, что происходит при выполнении команды в командной строке, в качестве примера будем использовать такой код:
команда параметр1 параметр2
- В случае, если «команда» является собственной встроенной командой консоли (в качестве примера — cls), она выполняется с заданными параметрами.
- Если «команда» — это какой-то файл .exe, .cmd, .bat или иной, например, pip, python или adb, выполняется попытка его запуска из расположения, где запущена командная строка (выделено на изображении ниже) или из расположений, добавленных в системную переменную PATH (о которой поговорим подробнее далее). При удачном запуске и правильно переданных параметрах команда выполняется.
Отсюда следуют наиболее распространённые причины появления ошибки при выполнении команды:
- Самая распространённая причина — отсутствие исполняемого файла в папке, где запущена командная строка и в папках, содержащихся в PATH.
- Ошибки при написании команды: при ошибке в имени файла, он не будет найден, что и приведёт к указанной ошибке.
- Файл отсутствует где-либо, например, вы пробуете использовать telnet, в то время, когда соответствующий компонент Windows не установлен.
- Редко — запускаемый через командную строку файл действительно не является исполняемой программой: изначально сам по себе или из-за повреждений.
Теперь о том, что делать в рассматриваемой ситуации.
Как исправить ошибку
Для исправления ошибки «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом» в зависимости от ситуации можно использовать следующие подходы.
Переход к папке с исполняемым файлом в командной строке
Если выполнение команды требуется не на регулярной основе, достаточно перейти в командной строке в папку, содержащую нужный файл, делается это следующим образом:
- Например, мы знаем, что python.exe для последней версии Python на момент написания этой статьи располагается в папке
C:Usersимя_пользователяAppDataLocalProgramsPythonPython39
pip.exe — там же во вложенной папке Scripts (если окажется не ясным, как попасть в эту папку, процесс показан в видео ниже), adb.exe — где-то в папке с platform-tools и так далее. Скопируйте этот путь, сделать это можно из адресной строки проводника.
- Если командная строка запущена на том же диске, где находится нужный исполняемый файл, введите команду вида:
cd полный_путь_к_папке_с_исполняемым_файлом
- Если командная строка запущена на диске C:, а исполняемый файл находится на другом диске, то перед 2-м шагом используйте команду вида (здесь D меняем на нужную букву диска) D: с последующим нажатием Enter.
- Введите нужную команду, которая ранее сообщала об ошибке — теперь она должна выполниться успешно.
Добавление папки с программой в системную переменную среды PATH
В случае, когда использование команд требуется регулярно, например, для git, разумным будет добавить папку с этим исполняемым файлом в PATH, чтобы затем в любой момент времени выполнять команды, независимо от того, в какой папке открыта командная строка:
- Введите в поиск на панели задач Windows 10 или Windows 11 «Изменение переменных среды» или нажмите клавиши Win+R, введите sysdm.cpl, нажмите Enter, а в окне свойств системы перейдите на вкладку «Дополнительно».
- Нажмите кнопку «Переменные среды».
- В следующем окне вы можете добавить папку с исполняемым файлом в переменную PATH только для текущего пользователя или для системы в целом. Выбираем Path в нижней панели и нажимаем «Изменить».
- В следующем окне нажимаем «Создать» и вставляем путь к папке с исполняемым файлом, используемом в вашей команде.
- Сохраняем настройки. Также следует перезапустить командную строку.
Готово: если всё было указано верно, теперь вы сможете выполнять соответствующие команды без указания полного пути к исполняемым файлам, а сообщение об ошибке появляться не будет.
Примечание: если ошибка возникает при использовании команд python, обратите внимание, что при первоначальной установке вам предложат добавить необходимые пути в PATH (отметка Add Python to PATH), то же самое часто бывает и при установке других программ:
Установка недостающих компонентов
Иногда проблема возникает из-за того, что нужный файл попросту отсутствует на компьютере:
- Вы пробуете использовать команды telnet, но не зашли в Панель управления —Программы и компоненты — Включение или отключение компонентов Windows и не включили «Клиент Telnet».
- Запускаете команды pyinstaller, но предварительно не установили его командой pip install pyinstaller
- Пробуете использовать команды adb.exe, но не установили необходимые компоненты Android SDK Platform Tools.
Аналогичная ситуация может быть и для многих других, не входящих в стандартную поставку Windows 10 и Windows 11 компонентов, например, java.
Если ошибка возникает при запуске системных инструментов Windows
В ситуации, когда сообщение «Не является внутренней или внешней командой» в командной строке выдается при попытке использовать системные инструменты, такие как sfc /scannow или slmgr:
- Внимательно проверьте правильность написания команды: раскладка, пробелы.
- Убедитесь, что соответствующие файлы есть в системе (обычно — в C:WindowsSystem32). Попробуйте запустить их напрямую из этой папки (перейдя в папку с помощью cd C:WindowsSystem32) и с указанием расширения, для файлов в примере — sfc.exe и slmgr.vbs
- Убедитесь, что в системной переменной среды PATHEXT указаны следующие расширения: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
Видео инструкция
Надеюсь, статья и видео помогли разобраться с проблемой и помогли в её решении. Остаются вопросы? — задавайте их в комментариях, я постараюсь ответить.
«Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом
При попытке открыть какую-либо команду через окно служебной программы или консоль, вы сталкиваетесь с ошибкой – «Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Система упрямо не открывает файл по каким-то причинам и этот факт очень раздражает. Причиной этого может быть один из нескольких вариантов: неправильно указан путь к файлу и отсутствие компонента в системе вообще, т.е по указанному адресу его не существует.
Содержание
- Основные причины, по которым появляется ошибка «не является внутренней или внешней командой»
- Указываем правильный путь в переменной path на ОС Windows 7
- Задать переменную «Path» в ОС Windows 8/8.1/10
Основные причины, по которым появляется ошибка «не является внутренней или внешней командой»
Как уже было сказано, одна из причин заключается в неправильном указании пути к открываемому файлу. Обычно путь к файлу прописан в переменной «Path» в системе, должен быть указан строгий путь к директории, в котором размещены нужные файлы. Если имеются какие-то ошибки в настройках при указании пути в переменной, либо при указании имени файла, то система будет выдавать именно такую ошибку – «имя файла» не является внутренней или внешней командой, исполняемой программой.
Первым делом необходимо указать точный путь переменной «Path» операционной системе, чтобы не возникало ошибок при открытии файла. Для этого нужно наверняка знать расположение папки. К примеру, обратимся к программе, которая в дальнейшем будет работать с исполняемым файлом в определенной папке.
Переменная «Path» — это переменная операционной системы, которая служит для того, чтобы найти указанные исполняемые объекты через командную строку или терминал. Найти ее можно в панели управления Windows. В новых версиях Виндовс и других ОС указание вручную обычно не требуется.
Указываем правильный путь в переменной path на ОС Windows 7
Чтобы правильно указать путь необходимо знать точное расположение файла. Если файл программы, который нужно открыть лежит на диске в С:Program FilesJavajdk 1.8.0.45bin, тогда этот путь нужно скопировать и указать в системной переменной для последующего открытия.
- Далее нам понадобиться рабочий стол, наводим мышь на «Мой компьютер» и в контекстном меню выбираем «Свойства».
- Нажимаем «Дополнительные параметры» слева и выбираем пункт «Переменные среды».
- В открывшемся окне ищем строку «Path» нажимаем на нее и вставляем скопированные путь сюда.
- Действие нужно подтвердить кнопкой «Ок». Компьютер желательно перезагрузить, чтобы настройки точно вступили в силу. Откройте консоль и вбейте нужную команду. Ошибки быть не должно.
В том случае, если ошибка будет появляться снова, попробуйте перенести программу в рабочие директории диска с установленной операционной системой, например /System32. С этой директорией Виндовс работает чаще.
Также ошибки возникают из-за отсутствия компонентов программы. Устранить их можно дополнив нужными. Для примера возьмем компонент «Telnet». Чтобы его включить, перейдите:
- На «Панель управления».
- Дальше выберите «Включение и выключение компонентов».
- Из списка выбираем «Клиент Telnet», напротив ставим галочку и нажимаем «Ок».
- Компонент должен работать и ошибок возникать больше не должно.
Поставьте галочку рядом с компонентом Windows Telnet
Задать переменную «Path» в ОС Windows 8/8.1/10
- Заходим на «Панель управления».
- Кликаем ссылку «Дополнительные параметры системы».
- Находим «Переменные среды». В этом разделе нужно выбрать «Path». Далее «Изменить», если нет готовой – создать заново.
- В пункте «Изменение системной переменной» укажите нужное вам значение и подтвердите кнопкой «Ок». Закрываем и все остальные окна, кликая «Ок».
- Откройте заново командную строку или терминал и попробуйте снова ввести ваш запрос. Сейчас должно все работать исправно.
Опубликовано 08.10.2017 Обновлено 25.11.2020