Problema estranho com o script .bat

2

Eu tenho um script .bat que instala 3 partes de software. Quando eu abro um promt de comando elevado, navegue até o arquivo e execute-o tudo funciona bem. Quando eu corro o .cmd diretamente (usando o 'executar como administrador' do Windows 7 nada acontece. Alguma idéia porque isso é?

O script

está abaixo:

rem ECHO OFF

ECHO Instalando o Bonjour, por favor aguarde!

msiexec.exe / i reqs \ Bonjour64.msi / quiet

ECHO Instalando o DirectX 9.0C Redist, aguarde

reqs \ dxsetup.exe / silent

ECHO Instalando o Airserver, por favor aguarde.

msiexec.exe / i reqs \ AirServer-1.9.1.msi / qn TRANSFORMES = PIDKEY.mst

Qualquer ajuda seria muito apreciada.

    
por user118074 04.10.2013 / 11:03

1 resposta

5

Meu palpite é que o script é iniciado em um diretório de trabalho diferente quando iniciado através de "executar como administrador". Portanto, seus caminhos relativos estariam errados. Se você iniciar um cmd normalmente, deverá estar em seu perfil de usuário. Se você iniciar o cmd como Administrador através de "Executar como", você geralmente acabará em "C: \ Windows \ System32".

Tente isto:

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"

O% ~ dp0 é resolvido para o diretório em que o script reside (mais barra invertida).

    
por 04.10.2013 / 11:40