Вопросы По WPI

Ответить
 • Просмотры: 57
Аватара пользователя
Pozia

Re: Вопросы По WPI

Сообщение Pozia »

Так подскажите как мне зарустить wpi.cmd с диска если не известна буква диска я пологаю делать несколькими способами:



1) Создаю каккой-небудь cmd файл потом ложу его в директорию примерно $OEM$\$$, а в файле winnt.sif указываю к нему путь %windir%\cmd файл, в котором будут прописано следуующее %CDROM%\WPI\wpi.cmd



2) просто чтобы все фйлы wpi копировались на диск с помощью $OEM$, а потом запускать файл wpi.cmd c winnt.sif, а wpi будет ссылаться на cd при уставки приложений.
Аватара пользователя
iDemon

Re: Вопросы По WPI

Сообщение iDemon »

Как правильно убить процесс через {taskkill}? Версия wpi - 7.6. Процесс _ISDEL.exe.

Кстати, в 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

Сообщение DeBill »

Спасибо попробую, вот например про wpi.ico даже не знал.
Аватара пользователя
.Земляк.

Re: Вопросы По WPI

Сообщение .Земляк. »

CTEPBA

На месте wpi.ico может быть всё, что угодно - просто посмотри как определяется переменная %cdrom% - просто перебираются все доступные в системе диски, в поиске маркерного файла. где найден, тот и %cdrom% со всеми вытекающим (то бишь делай с ним что хочешь). Хочешь - использвуй свой ник в качестве маркерного файла. Только вот в кирилице я бы тебе не советовал создавать маркерный файл.

Опять же - обрати внимание на комманду setenv - тебе нужно скачать этот файлик и держать в том же каталоге, откуда будешь запускать файл install.cmd
Аватара пользователя
conductor

Re: Вопросы По WPI

Сообщение conductor »

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[/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

Сообщение VEDMAK »

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):



Код:

Код: Выделить всё

@echo off
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v cdrom /t REG_EXPAND_SZ /d %~d0 /f
exit

2. Прописываешь в разделе [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

Сообщение conductor »

Цитата Малый:



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

Re: Вопросы По WPI

Сообщение DenchikK »

WinMaster

У меня только 3.6 и 4.2 - если надо - могу на рапидшару кинуть.
Аватара пользователя
altvip

Re: Вопросы По WPI

Сообщение altvip »

Я для Opera просто в config.js прописал команду:

cmd1[pn]=['"%wpipath%\\Install\\Opera_964_int_Setup.exe" /s /v"/qb'];
Аватара пользователя
DeBill

Re: Вопросы По WPI

Сообщение DeBill »

Народ, а не поделитесь ли сабжем версии 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 скачал.
Ответить

Вернуться в «Автоматическая установка Windows 2000/XP/2003»