Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Несрабатывает CMD-сценарий после запуска из авторан-меню

Ответить
Настройки темы
CMD/BAT - Несрабатывает CMD-сценарий после запуска из авторан-меню

Старожил


Сообщения: 185
Благодарности: 28


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: FreshMen85
Дата: 09-12-2018
Изображения
Тип файла: png Снимок.PNG
(24.8 Kb, 2 просмотров)
Всем привет. Хочу попросить у вас помощи. Есть cmd-сценарий который устанавливает драйвер, он отрабатывает при обычном запуске нормально. Но если запускаю из авторана, не видит pnputil.exe, даже если я указываю полный путь. Так же есть подозрения, что не срабатывает условие по определению битности системы, так как пробЫвал запускать установку драйвера через devcon и там срабатывает только установка для x86 системы. Что можно сделать, чтобы сценарий все же работал из авторан-меню?

Скачать авторан меню: https://dropmefiles.com/xjIUd

Сам сценарий следующий:
If "%PROCESSOR_ARCHITECTURE%"=="x86" (
start /w pnputil -i -a "%~dp0Driver\x86\ftdibus.inf"
) Else (
start /w pnputil -i -a "%~dp0Driver\x64\ftdibus.inf"
)
exit

Отправлено: 20:43, 08-12-2018

 

Ветеран


Contributor


Сообщения: 23248
Благодарности: 6771

Профиль | Отправить PM | Цитировать


FreshMen85, а) покажите не исполняемый файл autorun.exe, а сценарий, на основе которого он был создан; б) выкладывайте архив на dropmefiles.

Отправлено: 22:02, 08-12-2018 | #2



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

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


Старожил


Сообщения: 185
Благодарности: 28

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg Снимок.JPG
(87.9 Kb, 2 просмотров)

Iska, файл перезалил. На счет показать сценарий не понял, как сделать. Авторан сделан в программе Auto Play Menu Builder 8, файл проекта в архиве. Может какие-то опциии самой программы показать? Еще такой же проект делал в Autorun Enterprise PRO 2 и тут в итоге та же беда. Такое ощущение что авторан запускается в какой-то ограниченной среде.
Система для опытов кстати Windows 10 RS4 x64

Кстати вот сделал проект на MInstAll, то же самое, не находит pnputill
https://dropmefiles.com/1ux6u

Последний раз редактировалось FreshMen85, 09-12-2018 в 06:03.


Отправлено: 05:49, 09-12-2018 | #3


Ветеран


Contributor


Сообщения: 23248
Благодарности: 6771

Профиль | Отправить PM | Цитировать


FreshMen85, у меня есть несколько предположений. И первое из них касается того, что и autorun.exe, и 0_InstallSoft.exe — x86-приложения, а Ваша ОС — x64. Для x86-приложений ОС использует перенаправление некоторых каталогов и разделов реестра, в частности, когда они обращаются к каталогу %SystemRoot%\System32, ОС перенаправляет их запросы в реальный каталог %SystemRoot%\SysWOW64.

Отсюда следует, что, когда Ваше x86-приложение, будь то autorun.exe или 0_InstallSoft.exe, будучи запущенным на x64 ОС, пытается исполнить пакетный файл посредством %comspec% /c или ShellExecute — запускается не x64-версия cmd.exe из каталога %SystemRoot%\System32, а x86-версия cmd.exe из каталога %SystemRoot%\SysWOW64. Затем эта x86-версия cmd.exe из каталога %SystemRoot%\SysWOW64 начинает обрабатывать и исполнять Ваш пакетный файл, доходит до команды «If "%PROCESSOR_ARCHITECTURE%"=="x86" …» и выясняется, что, да — %PROCESSOR_ARCHITECTURE% оказывается таки равно x86 (что вполне логично и правильно в данном контексте), то есть — совсем не то, что Вы ожидали получить.

Кроме того — что команда «start /w pnputil -i -a "%~dp0Driver\x86\ftdibus.inf"», что команда «start /w pnputil -i -a "%~dp0Driver\x64\ftdibus.inf"» пытаются выполнить ShellExecute() с ожиданием для pnputil.cmd/pnputil.bat/pnputil.com/pnputil.exe (потому как Вы не указываете расширение) в текущем каталоге (и не находит их там), затем в PATH (не находит и там — помним, что %SystemRoot%\System32 отображается на %SystemRoot%\SysWOW64, а в нём каких-либо pnputil.cmd/pnputil.bat/pnputil.com/pnputil.exe не наблюдается), затем в реестре в обоих разделах App Paths — и тоже не находит. В результате Вы закономерно получаете тот результат, что видите.
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:24, 09-12-2018 | #4


Старожил


Сообщения: 185
Благодарности: 28

Профиль | Отправить PM | Цитировать


Iska, скорей всего вы правы. Попробовал запустить cmd.exe напрямую С:\Windows\system32\cmd.exe и передать с помощью команды CALL содержимое _setup.cmd, но у меня с разбегу ни чего не получилось. Хотел просто спросить я хоть правильно пытаюсь решить задачу?

Отправлено: 14:37, 09-12-2018 | #5


Ветеран


Contributor


Сообщения: 23248
Благодарности: 6771

Профиль | Отправить PM | Цитировать


FreshMen85, не могу сказать пока ничего вразумительного, потому как не знаю проблему, которую Вы хотите решить выбранным Вами решением.

Отправлено: 14:50, 09-12-2018 | #6


Старожил


Сообщения: 185
Благодарности: 28

Профиль | Отправить PM | Цитировать


Iska, хочу просто автоматизировать установку драйверов, но запуск установки должен осуществляться из авторана.
.

Отправлено: 15:38, 09-12-2018 | #7


Ветеран


Contributor


Сообщения: 23248
Благодарности: 6771

Профиль | Отправить PM | Цитировать


FreshMen85, я бы взял какой-нибудь AutoPlay Media Studio и попробовал бы привязать к кнопке какой-нибудь такой код:
Код: Выделить весь код
if (System.Is64BitOS()) then
	result = File.Run(os.getenv("SystemRoot") .. "\\Sysnative\\pnputil.exe", "-i -a Install\\Driver\\x64\\ftdibus.inf", "", SW_SHOWNORMAL, true);
else
	result = File.Run(os.getenv("SystemRoot") .. "\\System32\\pnputil.exe", "-i -a Install\\Driver\\x86\\ftdibus.inf", "", SW_SHOWNORMAL, true);
end

Последний раз редактировалось Iska, 09-12-2018 в 17:56. Причина: Не все слэши удвоил

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:12, 09-12-2018 | #8



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Несрабатывает CMD-сценарий после запуска из авторан-меню

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
PowerShell - Вывод данных в cmd из PowerShell без запуска консоли Nolly Скриптовые языки администрирования Windows 3 03-05-2018 20:24
CMD/BAT - Как выполнить сценарий в Командной строке с помощью .cmd BKPB Скриптовые языки администрирования Windows 5 23-03-2016 09:26
Любой язык - [решено] Получение температуры диска через cmd сценарий. voler Скриптовые языки администрирования Windows 10 02-07-2013 06:31
CMD/BAT - Не закрывается cmd после запуска The_Immortal Скриптовые языки администрирования Windows 4 13-02-2013 17:42
Командный сценарий для копирования файла (Файл .cmd) p-xel Автоматическая установка Windows 2000/XP/2003 3 28-11-2011 03:01




 
Переход