Войти

Показать полную графическую версию : [решено] Установка программ с помощью install.cmd


sansar
31-01-2012, 02:06
Помогите пожалуйста кто понимает в CMD скриптах. Дело вот в чём, столкнулся я с проблемкой как мне установить проги автоматом, при чём с %CDROM% или %SYSTENDRIVE% МНЕ КАКТО БЕЗ РАЗНИЦЫ. В общем методом мозгового штурма я сделал вот такую фиговину:
cmdow @ /HID
@echo off

COLOR 0A
Set StartPath=%CDROM%\install
Set Keys=update\update.exe /quiet /passive /norestart
Set Keys1=install.exe /s /sms
Set keys2=install.exe
start /wait %StartPath%\wmp11r\wmdf\%Keys%
start /wait %StartPath%\wmp11r\wmfdist11\%Keys%
start /wait %StartPath%\wmp11r\wmp11\%Keys%
start /wait %StartPath%\Kasper8\%Keys1%
start /wait %StartPath%\VistaDrv\%Keys2%
start /wait %StartPath%\Sounds\%Keys2%
start /wait %StartPath%\Cursors\%Keys2%

Теперь структура папок:
$OEM$\$1\Install
1). $OEM$\$1\Install\Cursors\install.exe
2). $OEM$\$1\Install\Kasper8\install.exe
3). $OEM$\$1\Install\Sounds\install.exe
4). $OEM$\$1\Install\VistaDrv\install.exe
5). $OEM$\$1\Install\wmp11r\install.exe
Я понимаю что может и безграмотно, ну как себе представлял так и зделал)))
Ну в общем, что у меня вышло!
Установка тормозит на 12 минуте и висит *file.cmd* исполняющий собственно установку, но установка висит на месте, в смысле 1,5 часа здал (думал мож лагает), а когда закрываю исполнение CMD файла, то установка падает с12 по 10 минуту.
Теперь собственно вопрос: может я ошибку гдето сделал в исполняющем коде CMD, или может быть сам подход неправильный.

jameszero
01-02-2012, 09:44
На время отладки скрипта, уберите первые две строчки CMD-файла и увидите, на каком этапе останавливается сценарий автоустановки.

El Sanchez
01-02-2012, 12:03
увидите, на каком этапе останавливается сценарий автоустановки »
На первой же команде start, т.к. %StartPath% раскроется в не то, что нужно из-за неопределенной %CDROM%.

sansar, либо определяйте (http://www.oszone.net/2805) %CDROM%, либо замените (http://www.oszone.net/2243) на %SYSTEMDRIVE%

sansar
01-02-2012, 12:09
Всё решил! Просто через RunOnsex.cmd Всё зделал) Вот пример:

cmdow @ /HID
@echo off

for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i:
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v cdrom /d %CDROM% /f


SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
REG ADD %KEY%\999 /V 3 /D "%CDROM%\WPI\WPI.hta" /f
REG ADD %KEY%\999 /V 4 /D "%systemdrive%\install\install.cmd /f
EXIT
А здесь изменил строку. И в итоге всё ставится с винчестера и быстро и надёжно(вот строка которую я изменил)
Set StartPath=%systemdrive%\install »
Здесь можно скачать install.cmd и Runonsex.cmd (для примеров) Тему закрваю если что пишите в ПМ.

Devils0411
01-02-2012, 13:28
sansar, Зачем вы вносите переменную %CDROM% в переменную среду?
Думаю эта часть кода лишняя.
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v cdrom /d %CDROM% /f
Переменную CDROM вы задаете здесь:
for %%i in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if exist %%i:\WIN51 set CDROM=%%i:

sansar
01-02-2012, 22:33
Devils0411 для того чтоб она сушествовала лиш на протяжении этой се\Session Manager »
сии так далее мне не нужно что бы она фигурировала в автоустановке!

Devils0411
02-02-2012, 10:15
sansar, дык переменная CDROM будет фигурировать только в install.cmd, после его завершения эта переменная не будет где либо фигурировать. А так, вы засоряете реестр ненужными значениями!




© OSzone.net 2001-2012