У меня есть сценарий .bat, который устанавливает 3 части программного обеспечения. Когда я открываю командную строку с повышенными правами, просматриваю файл и запускаю его, все работает нормально. Когда я запускаю .cmd напрямую (используя «Запуск от имени администратора» из Windows 7, ничего не происходит. Есть идеи, почему это так?
сценарий ниже:
rem ECHO OFF
ECHO Установка Bonjour, подождите!
msiexec.exe / я reqs \ Bonjour64.msi / тихий
ECHO Установка DirectX 9.0C Redist, подождите
reqs \ dxsetup.exe / тихий
ECHO Установка Airserver, подождите.
msiexec.exe / i reqs \ AirServer-1.9.1.msi / qn TRANSFORMS = PIDKEY.mst
Любая помощь будет принята с благодарностью.
Я предполагаю, что сценарий запускается в другом рабочем каталоге, когда запускается через «запуск от имени администратора». Следовательно, ваши относительные пути будут неправильными. Если вы обычно запускаете cmd, вы должны быть в своем профиле пользователя. Если вы запускаете cmd от имени администратора через «Запуск от имени», вы обычно попадаете в «C: \ Windows \ System32».
Попробуй это:
rem ECHO OFF
ECHO Installing Bonjour , please wait!
msiexec.exe /i "%~dp0reqs\Bonjour64.msi" /quiet
ECHO Installing DirectX 9.0C Redist , please wait
"%~dp0reqs\dxsetup.exe" /silent
ECHO Installing Airserver , please wait.
msiexec.exe /i "%~dp0reqs\AirServer-1.9.1.msi" /qn TRANSFORMS="%~dp0PIDKEY.mst"
% ~ Dp0 разрешается в каталог, в котором находится скрипт (плюс обратная косая черта в конце).