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

Название темы: Вопросы По WPI
Показать сообщение отдельно

Аватара для Sanja Alone

Ищу Человека…


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

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


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 все равно не увидишь.

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)


Отправлено: 08:25, 02-11-2005 | #105

Название темы: Вопросы По WPI