DenchikK
Цитата:
И вот, если, допустим нет второго файла, WPI выдаёт ошибку и установка прекращается. Но я вроде бы помню, что есть какая-то настройка, пропускающая отсутствующий файл. Или я выдаю желаемое за действительное?
|
Последнее
Но может тебе подойдет другая настройка - в WPI можно НЕпоказывать программу в общем списке при соблюдении н-рого условия. Например, я хочу обновить DirectX 9.0c до августовской сборки только на тех компьютерах, где это еще не сделано. Я делаю проверку на существование определенного файла, присутствующего только после обновления пакета - если он уже есть, то запустив
WPI, в разделе
System я не увижу пункта
DirectX 9.0c:
Код:
prog[pn]=['DirectX 9.0c']
desc[pn]=['Microsoft DirectX 9.0c (Aug 2005)']
cond[pn]=['!FileExists("%windir%\\system32\\d3dx9_27.dll")']
cmd1[pn]=['%cdrom%\\Soft\\DX9\\dxsetup.exe /silent']
dflt[pn]=['yes']
cat[pn]=['System']
pn++
Или еще один пример: я хочу установить словарь
Lingvo, но "бесплатную" его версию ставить можно лишь с файла-образа. Для этого, я своим AutoIt-скриптом монтирую образ на виртуальный привод Алкоголя или Демона, а в WPI-конфиге пишу условие: если ни одна из этих прог не установлена, то и не нужно мне
Lingvo показывать в списке доступных для установки приложений:
Код:
prog[pn]=['ABBYY Lingvo 10 Multilingual Dictionary']
desc[pn]=['Multilingual Dictionary']
cond[pn]=['FileExists("%programfiles%\\Alcohol Soft\\Alcohol 120\\Alcohol.exe")||FileExists("%programfiles%\\D-Tools\\daemon.exe")']
cmd1[pn]=['%cdrom%\\Soft\\Lingvo\\autoit-lingvo.exe']
cat[pn]=['Office']
pn++
Можешь посмотреть файл
WPI/UserManual/Manual.html - там немного сказано об этом (Condition).
И еще: твой
install.cmd можно безболезненно привести к такому виду:
Код:
@ECHO OFF
cmdow.exe @ /HID
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:\wpi.ico set inst_cd=%%i:
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v cdrom /d %inst_cd% /f
regedit /s %cdrom%\Software\WPI\common\WPI.reg
start /wait %cdrom%\Software\WPI\WPI.cmd
exit
Т.е., что я изменил:
а). Окно достаточно спрятать один, а не два раза
б). Хоть я когда-то и советовал
setenv, но добавление переменной можно сделать и стандартной командой
REG ADD
в). Окно ты прячешь, поэтому действия команд
color и
echo все равно не увидишь.