Вопросы По WPI
-
Pozia
Re: Вопросы По WPI
Так подскажите как мне зарустить wpi.cmd с диска если не известна буква диска я пологаю делать несколькими способами:
1) Создаю каккой-небудь cmd файл потом ложу его в директорию примерно $OEM$\$$, а в файле winnt.sif указываю к нему путь %windir%\cmd файл, в котором будут прописано следуующее %CDROM%\WPI\wpi.cmd
2) просто чтобы все фйлы wpi копировались на диск с помощью $OEM$, а потом запускать файл wpi.cmd c winnt.sif, а wpi будет ссылаться на cd при уставки приложений.
1) Создаю каккой-небудь cmd файл потом ложу его в директорию примерно $OEM$\$$, а в файле winnt.sif указываю к нему путь %windir%\cmd файл, в котором будут прописано следуующее %CDROM%\WPI\wpi.cmd
2) просто чтобы все фйлы wpi копировались на диск с помощью $OEM$, а потом запускать файл wpi.cmd c winnt.sif, а wpi будет ссылаться на cd при уставки приложений.
-
iDemon
Re: Вопросы По WPI
Как правильно убить процесс через {taskkill}? Версия wpi - 7.6. Процесс _ISDEL.exe.
Кстати, в installer.js вот чё написано:
Код:
upd:
Заменил вот так
Код:
Живу и радуюсь
Команда {dircopy}, кстати, то же не работала, или я неправильно ей пользовался.
Кстати, в installer.js вот чё написано:
Код:
Код: Выделить всё
case '{TASKKILL}':
cmd=("" + cmd.replace(/{TASKKILL} /gi,'{JSCRIPT}=TerminateProcess("'));
cmd += '")';
break;upd:
Заменил вот так
Код:
Код: Выделить всё
case '{TASKKILL}':
cmd=("CMD /C " + cmd.replace(/{TASKKILL} /gi,'taskkill /t / f /IM'));
fsoCmd=true;
break;Живу и радуюсь

Команда {dircopy}, кстати, то же не работала, или я неправильно ей пользовался.
-
DeBill
-
.Земляк.
Re: Вопросы По WPI
CTEPBA
На месте wpi.ico может быть всё, что угодно - просто посмотри как определяется переменная %cdrom% - просто перебираются все доступные в системе диски, в поиске маркерного файла. где найден, тот и %cdrom% со всеми вытекающим (то бишь делай с ним что хочешь). Хочешь - использвуй свой ник в качестве маркерного файла. Только вот в кирилице я бы тебе не советовал создавать маркерный файл.
Опять же - обрати внимание на комманду setenv - тебе нужно скачать этот файлик и держать в том же каталоге, откуда будешь запускать файл install.cmd
На месте wpi.ico может быть всё, что угодно - просто посмотри как определяется переменная %cdrom% - просто перебираются все доступные в системе диски, в поиске маркерного файла. где найден, тот и %cdrom% со всеми вытекающим (то бишь делай с ним что хочешь). Хочешь - использвуй свой ник в качестве маркерного файла. Только вот в кирилице я бы тебе не советовал создавать маркерный файл.
Опять же - обрати внимание на комманду setenv - тебе нужно скачать этот файлик и держать в том же каталоге, откуда будешь запускать файл install.cmd
-
conductor
Re: Вопросы По WPI
DenchikK
Цитата:
И вот, если, допустим нет второго файла, WPI выдаёт ошибку и установка прекращается. Но я вроде бы помню, что есть какая-то настройка, пропускающая отсутствующий файл. Или я выдаю желаемое за действительное?
Последнее Но может тебе подойдет другая настройка - в WPI можно НЕпоказывать программу в общем списке при соблюдении н-рого условия. Например, я хочу обновить DirectX 9.0c до августовской сборки только на тех компьютерах, где это еще не сделано. Я делаю проверку на существование определенного файла, присутствующего только после обновления пакета - если он уже есть, то запустив WPI, в разделе System я не увижу пункта DirectX 9.0c:
Код:
Или еще один пример: я хочу установить словарь Lingvo[/i], но "бесплатную" его версию ставить можно лишь с файла-образа. Для этого, я своим AutoIt-скриптом монтирую образ на виртуальный привод Алкоголя или Демона, а в WPI-конфиге пишу условие: если ни одна из этих прог не установлена, то и не нужно мне Lingvo показывать в списке доступных для установки приложений:
Код:
Можешь посмотреть файл WPI/UserManual/Manual.html[/i] - там немного сказано об этом (Condition).
И еще: твой install.cmd можно безболезненно привести к такому виду:
Код:
Т.е., что я изменил:
а). Окно достаточно спрятать один, а не два раза
б). Хоть я когда-то и советовал setenv[/i], но добавление переменной можно сделать и стандартной командой REG ADD
в). Окно ты прячешь, поэтому действия команд color и echo все равно не увидишь.
Цитата:
И вот, если, допустим нет второго файла, 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[/i], но "бесплатную" его версию ставить можно лишь с файла-образа. Для этого, я своим 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[/i] - там немного сказано об этом (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[/i], но добавление переменной можно сделать и стандартной командой REG ADD
в). Окно ты прячешь, поэтому действия команд color и echo все равно не увидишь.
-
VEDMAK
Re: Вопросы По WPI
CTEPBA
Цитата:
как мне зарустить wpi.cmd с диска если не известна буква диска
1. В единственный раздел [COMMANDS] файла $OEM$\cmdlines.txt дописываешь вызов командного файла, к-рый определит переменную cdrom: "prep_env.cmd" (в принципе, в cmdlines.txt можно сразу вписать команду REG ADD ..., но в ней самой присутствуют кавычки, а в файле cmdlines.txt все команды должны быть в таких же кавычках - как тут поступить я не скажу, ибо в deploy.chm данный случай не рассматривается, а проверять возможные варианты мне неохота).
Это файл prep_env.cmd (ложишь его рядом с cmdlines.txt):
Код:
2. Прописываешь в разделе [GuiRunOnce][/i] файла i386\winnt.sif запуск WPI, например так: "%cdrom%\wpi\wpi.cmd" (впиши свой путь, т.к. я не знаю где именно у тебя wpi.cmd)
По твоему вопросу это все. Между прочим, ответ на данный вопрос я уже давал в этом треде, как и проводил ликбез
P.S. Если захочешь, чтобы установка прог через WPI работала как с CD/DVD, так и с HDD и при этом не нужно было копировать файлы на винт методом $OEM$, читай мой пост
Цитата:
как мне зарустить wpi.cmd с диска если не известна буква диска
1. В единственный раздел [COMMANDS] файла $OEM$\cmdlines.txt дописываешь вызов командного файла, к-рый определит переменную cdrom: "prep_env.cmd" (в принципе, в cmdlines.txt можно сразу вписать команду REG ADD ..., но в ней самой присутствуют кавычки, а в файле cmdlines.txt все команды должны быть в таких же кавычках - как тут поступить я не скажу, ибо в deploy.chm данный случай не рассматривается, а проверять возможные варианты мне неохота).
Это файл prep_env.cmd (ложишь его рядом с cmdlines.txt):
Код:
Код: Выделить всё
@echo off
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v cdrom /t REG_EXPAND_SZ /d %~d0 /f
exit2. Прописываешь в разделе [GuiRunOnce][/i] файла i386\winnt.sif запуск WPI, например так: "%cdrom%\wpi\wpi.cmd" (впиши свой путь, т.к. я не знаю где именно у тебя wpi.cmd)
По твоему вопросу это все. Между прочим, ответ на данный вопрос я уже давал в этом треде, как и проводил ликбез
о назначении переменной
cdrom самим WPI (имеет прямое отношение к wpi.ico). Прочитай тему с начала и у тебя отпадет масса вопросов...P.S. Если захочешь, чтобы установка прог через WPI работала как с CD/DVD, так и с HDD и при этом не нужно было копировать файлы на винт методом $OEM$, читай мой пост
выше
.-
conductor
Re: Вопросы По WPI
Цитата Малый:
cmd1[pn]=['']; заменил на cmds[pn]=[''];
И перенес содержимое строк из cmd2, cmd3... - в cmds через запятую, в одну строку.
здесь непонятка на оф сайте на первой странице вот такая фишка
prog[pn]=['Inno Setup'];
ordr[pn]=[105];
uid[pn]=['Inno'];
dflt[pn]=['yes'];
cat[pn]=['Office'];
forc[pn]=['no'];
configs[pn]=['yes'];
gcond[pn]=['FileExists(\'%programfiles%\\\')'];
cmd1[pn]=['%wpipath%\\Install\\
innosetup.exe /VERYSILENT'];
cmd2[pn]=['%wpipath%\\Install\\
wizardimages.exe'];
picf[pn]=['installer.png'];
picw[pn]=['128'];
pich[pn]=['128'];
textl[pn]=['Top'];
pn++;
cmd1[pn]=['']; заменил на cmds[pn]=[''];
И перенес содержимое строк из cmd2, cmd3... - в cmds через запятую, в одну строку.
здесь непонятка на оф сайте на первой странице вот такая фишка
читать дальше »
prog[pn]=['Inno Setup'];
ordr[pn]=[105];
uid[pn]=['Inno'];
dflt[pn]=['yes'];
cat[pn]=['Office'];
forc[pn]=['no'];
configs[pn]=['yes'];
gcond[pn]=['FileExists(\'%programfiles%\\\')'];
cmd1[pn]=['%wpipath%\\Install\\
innosetup.exe /VERYSILENT'];
cmd2[pn]=['%wpipath%\\Install\\
wizardimages.exe'];
picf[pn]=['installer.png'];
picw[pn]=['128'];
pich[pn]=['128'];
textl[pn]=['Top'];
pn++;
-
DenchikK
-
altvip
Re: Вопросы По WPI
Я для Opera просто в config.js прописал команду:
cmd1[pn]=['"%wpipath%\\Install\\Opera_964_int_Setup.exe" /s /v"/qb'];
cmd1[pn]=['"%wpipath%\\Install\\Opera_964_int_Setup.exe" /s /v"/qb'];
-
DeBill
Re: Вопросы По WPI
Народ, а не поделитесь ли сабжем версии 3.5 ?
Ссылка с сайте
Версию 3.3.5 скачал.
Ссылка с сайте
http://members.aon.at/equinox/wpi/
мертвая, впрочем как и сайт который редиректит на http://wpi.freeprohost.com/
где "You don't have permission to access / on this server".Версию 3.3.5 скачал.