Показать полную графическую версию : Вопросы По WPI
DenchikK
10-03-2005, 03:34
http://www.wpiw.net/Images/logo.png
Windows Post Install Wizard (WPI)
Официальный сайт WPI (http://www.wpiw.net/)
Официальный форум WPI на MSFN.org (http://www.msfn.org/board/index.php?showforum=93)
Обзор WPI в статье "Выбор устанавливаемых приложений" (http://oszone.net/display.php?id=2985&page=2#wpi) (там рассказ о старой версии, но кое-что почерпнуть можно)
Для тех кто в танке: WPI не волшебная палочка и сама по тихому программы устанавливать не умееет!!!
Очень внимательно читаем материалы хотя бы по этим (http://forum.oszone.net/post-1196036-1522.html) и этой (http://www.oszone.net/3663/) ссылкам!
[hr]Полезные сообщения в теме:
Как WPI 5.x определяет букву диска CD-ROM (http://forum.oszone.net/showthread.php?p=450899#post450899)
Утилиты для запуска WPI из cmdlines.txt (http://forum.oszone.net/post-669421-454.html)
Как запустить WPI с компакт-диска из [GuiRunOnce] (http://forum.oszone.net/post-751363-547.html)
Как запустить WPI с компакт-диска из svcpack.inf (http://forum.oszone.net/post-751490-549.html)
При запуске WPI v.6.2 ругается на файл configwizard.js на функцию GetConfigValue() (решение) (http://forum.oszone.net/post-754344-551.html)
DenchikK
от я и хочу спросить, почему после установки винды WPI определяет уже реальный девайс и как это исправить?
В wpi.cmd 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:
echo Found CD-Rom as drive %CDROM%
%WPIPATH% - просто рабочая директория wpi
Я не совсем понимаю что значит чтоб можно было без изменения настроек ставить её как с винта так и с диска DVD.ИМХО, тут ситуация "или-или". Можно конечно класть маркерный файл в корень логического диска, пытаться его искать, и если найден, то опредлять %CDROM% как этот логический диск. В противном случае %CDROM% - привод с диском и все ставится с CD. Это извращение :)
Если вы хотите чтоб софт ставился с жесткого диска, то в wpi.cmd замените код приведенный выше на set CDROM=X:
echo CD-Rom is set as a logical drive %CDROM% где Х: буква диска с софтом.
DenchikK
14-03-2005, 03:00
Доброй ночи!
>> В противном случае %CDROM% - привод с диском и все ставится с CD.
>> Это извращение :)
Вы очень сильно заблуждаетесь! Желание, чтоб установка происходила
быстро и удобно не есть извращение! Наоборот, это и есть цель всякого
нормального человека. И объясню почему:
1. Установка проходит гораздо быстрее с винта, чем с диска.
2. При установке не изнашивается ни привод, ни диск. Особенно важно
при проверке работоспособности связки-набора устанавливаемых прог,
дров и проч.
3. На винте можно быстрее можно заменить/добавить/обновить как
версию/наименование драйверов, так и версию/наименование программ и
проч.
4. При спешной записи, не надо вспоминать, в каком файле/файлах что
надо изменить - как лежит так и записываешь.
5. Хранение информации на CD/DVD дисках с частым их использованием,
менее надёжно, чем на винте.
Можно накидать ещё вариантов - но и выше приведённых, я думаю, вполне
достаточно.
Вот хотя бы один пример (для лёгкости восприятия, если не совсем
понятны вышеописанные): пришёл друг/надо записать на работу/поступил
срочный вызов на установку винды, и нужно изменить драйвер, к примеру,
видяхи, с устанавливаемого по умолчанию, на альтернативный. С винта
это делается намного проще. Сами понимаете, вариантов может быть масса
- и лучше делать это с винта, чем записывать на тот же винт готовую
заготовку и там её править.
И мне, всё же, не совсем понятна работа WPI: если написано, что метка
является определителем буквы для переменной %CDROM%, так почему это в
одном случае работает, в другом - нет. Вопрос то в этом! Кстати
описанный Вами вариант "CDROM=X:" так же не работает как надо: так же
при первой загрузке винды и первом вызове WPI, программы хотят
ставиться с реального CD, а не с прописанного, во всех остальных
случаях всё работает, так же, как и в методе с меткой. К тому же
вариант с жёсткой задачей буквы противоречит концепции неизменности
конфигурационных файлов.
Так что всё-таки, нужно найти причину, по которой WPI так работает,
это будет гораздо интереснее и продуктивнее.
Спасибо за понимание.
DenchikK
К тому же вариант с жёсткой задачей буквы противоречит концепции неизменности конфигурационных файлов.По правде говоря, файл wpi.cmd не является конфигурационным файлом WPI. Я думаю, что новая версия WPI вообще не определяет %CDROM%, и эта функция возлагается на wpi.cmd.
Вы очень сильно заблуждаетесь! Желание, чтоб установка происходила
быстро и удобно не есть извращение!Так кто вам мешает последовать моему совету и сделать проверку на наличие маркерных файлов как на HDD, так и на CD? Если вы не можете создать такой файл, то почему прямо об этом не сказать, вместо того чтобы убеждать меня в преимуществах установки с HDD?
@echo off
REM Проверяем наличие marker.fle в корне всех дисков
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:\marker.fle set CDROM=%%i:
REM Если marker.fle найден, выводим сообщение об установке с HDD
REM В противном случае ищем WIN51 на CD
IF exist %CDROM%\marker.fle (GOTO HDD) ELSE 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:
REM Если WIN51 найден на CD, выводим сообщение об установке с CD
REM В противном случае выводим сообщение об отстуствии каких-либо маркерных файлов
IF exist %CDROM%\WIN51 (GOTO CDROM) ELSE (GOTO FAILURE)
:HDD
echo Installing from the logical drive %CDROM%
GOTO EOF
:CDROM
echo Installing from the CDROM %CDROM%
GOTO EOF
:FAILURE
echo No marker files found, sorry
:EOF
Pause
Exit
Запустите файл и посмотрите что определилось как %CDROM%. Если ничего, то вставьте установочный CD в CDROM и запустите файл снова. Теперь не вынимая CD создайте пустой файл marker.fle и поместите его в корень диска с программами. Снова запустите файл.
Удачи.
DenchikK
15-03-2005, 05:38
То ли Вы не внимательно читали мои посты и не до конца поняли суть
моих экспериментов, то ли я напрочь не понимаю Вас. Но в любом случае,
хотелось бы разобраться.
Начну с конца (по моему в этом основная причина недопонимания друг
друга):
> Так кто вам мешает последовать моему совету и сделать проверку на
> наличие маркерных файлов как на HDD, так и на CD?
А смысл? В Вашем примере в любом случае, будь то найден маркер 1 на
винте или маркер 2 на CD, всё равно возвращается переменная %cdrom%,
которая равна букве первого же найденного диска с маркером. Так как
диск, с которого у меня ставиться винда, это D, а СD-Rom - L, то
переменная %cdrom% всегда возвращается с буквой винта, что мне и
нужно. И возвращается, и работает, но почти... :-)
Итак, перехожу к главному:
Ваш пример, на мой взгляд, имеет смысл в таком случае:
- найден маркер на винте - запускаем Программу №1
- найден маркер на СDRom - запускаем Программу №2
Тогда согласен, это имеет полный смысл.
Но вот что я имею:
Файл Unattend.txt
[GuiRunOnce]
%systemdrive%\install\install.cmd
Файл Install.cmd
start /wait %cdrom%\software\WPI\WPI.HTA
Файл Config.js
pn=1;
prog[pn]=['Total Commander 6.51 Rus']
desc[pn]=['Лучший Файловый Менеджер <i>Переработанный Инсталлер</i>']
ordr[pn]=[1]
cmd1[pn]=['%cdrom%:\\Software\\Programs\\total\\total.exe']
dflt[pn]=['yes']
cat[pn]=['Programs']
pn++
То бишь, мне надо изобретать какой-то способ, чтоб при выборе,
например, cdrom, файл config.js с переменной %cdrom% кидался б в
каталог wpiscripts, и при выборе установки с диска, кидался б уже
другой файл с переменной d:\
Это как видится мне, я могу опять же быть не прав.
Но самое главное то не это: WPI нормально работает, исправно
определяет букву по маркеру, и ставит программы из нужного места - и с
винта и с диска. Когда бы я его не запускал, и на каком бы диске не
была нужная метка. Вот что я безуспешно Вам пытаюсь объяснить, и вот
что меня интересует. Но всё меняется, когда я ставлю винду - по
вышеуказанной цепочке файлов, при первом входе в винду WPI опять же,
находит маркер, определяет диск D как cdrom, пишет, что ставиться
будет с D (в ДОСовском окне), но когда собственно процесс установки
начинается, начинаются ошибки, потому, что путь изменился на диск L
(мой CdRom).
И в догонку, по той же теме: если я запускаю WPI с вставленным CDROM
диском, то после его изъятия происходит та же вышеописанная петрушка:
пишет в ДОС, что CDROM - диск D, но при попытки установки программ
пытается найти их на L. Перезагрузка компа и перезапуск WPI не
помогает. Когда же я заменяю WPI из архивной копии - программы
начинают ставится нормально. Что же изменилось, и в каких файлах,
выяснить не смог - сравнивал - размер всех файлов остаётся неизменным.
Ещё раз простите за беспокойство, но очень уж интересна мне причина
такого поведения WPI.
DenchikK
Я внимательно читаю вас, но никак не могу об'яснить вам что делать :) Насколько я понял, логический диск - D:, a CD-ROM - L:. И там и там в корне есть папка Software с программами. Мой пакетный файл корректно определяет откуда устанавливать софт, при наличии маркера в корне D.Так как
диск, с которого у меня ставиться винда, это D, а СD-Rom - L, то
переменная %cdrom% всегда возвращается с буквой винта, что мне и
нужно. И возвращается, и работает, но почти... :-)Ну раз это работает, но потом все равно пытается установить с L, значит WPI после запуска переназначает переменную %cdrom% и я не прав в том, что в новой версии эта функция возложена на wpi.cmd. Хорошо.
Тогда пусть WPI запустится, определит %cdrom%, a вы ее переназначьте первым же устанавливаемым в списке файлом. Тот же самый мой пакетный файл пусть будет первым в списке, а скопировать его на HDD можно через $ОЕМ$ папку точно также как ваш install.cmd
DenchikK
16-03-2005, 03:01
Ошибочка вышла - проверил я запуск WPI со вставленным диском XP -
первый он определяется, а уж потом, если на диске нет метки,
осматривает винты.
Сейчас проверю Ваш совет.
DenchikKОшибочка вышла - проверил я запуск WPI со вставленным диском XP -
первый он определяется, а уж потом, если на диске нет метки,У кого ошибочка? Ничего не понял...
Сейчас проверю Ваш совет.Он не сработает лишь в том случае, если WPI прогоняет проверку на наличие WIN51 перед установкой каждого приложения.
А вообще, чем плох вариант с двумя конфигурационными файлами? Точнее, в config.js ничего менять даже не надо. В том generate.js два раза упомянут WIN51. По нему WPI и ищет CDROM. Moжно сделать два файла generate.js - оригинальный и второй, в котором WIN51 заменен на marker. Второй бросить в корень WPI. Перед запуском WPI можно моим же батником проверить есть ли маркер на логическом диске, и если есть, то скопировать второй generate.js в wpiscripts командой xcopy.
Если и это вас не устраивает, то я оставляю тему на попечение других участников форума :)
DenchikK
17-03-2005, 03:07
Ошибочка у меня вышла, когда я говорил, что сначала сканируются винты.
И опять эксперимент не сработал - всё то же самое - всё работает, но не в варианте первой загрузки винды. Придётся точно 2 копии config.js держать, и делать как я раньше хотел (вроде того, что Вы написали сейчас).
Ну да ладно! Всё равно спасибо Вам большое!
DenchikK
Сорри, проблему решить не удалось. Однако, и запросы у вас были нестандартные.
DenchikK
18-03-2005, 02:44
А можно ещё почти в тему задать вопрос о установке через wpi некоторых программ, с инсталятором installshild - что то не получилось, хотя по описанию на сайте встали и power dvd 6 и aver media - а вот с другими - проблемма. Причем если просто через -s - ставятся. Просто не хочется для этого ещё тему открывать. AutoIt конечно помог, но всё-таки хотелось бы ключами...
DenchikK
Одна проблема - одна тема. Логичнее продолжить в уже существующих темах про Install Shield. Поищите по *shield* в заголовках тем. Парочка найдется. PM в случае проблем с поиском.
DenchikK
Какая версия WPI? У меня в последней версии wpi.cmd даже не стартует wpi.hta если она на виртуалке. Записал тот же образ на сиди, вставил, и все заработало. То есть механизм определения CD-Rom нетривиален.
Попробуй так: cmd1[pn]=['%LABEL%\\Software\\Programs\\total\\total.exe']
Где LABEL= %CDROM% если устанавливаешь с CD или LABEL=%SystemDrive% если с винта. Определяешь ее в самом начале.
DenchikK
20-03-2005, 04:40
Версия - не знаю, скачал с оффсайта, размер - 257 121, дата -
11.01.2005. И вот мне то же пришла идея, воспользоваться переменной,
отличной от %cdrom% - может так получится, но пока времени нет на
проверку.
И ещё, раз я тему озаглавил "Вопросы По WPI" то спросит я думаю,
можно тут: темы для него не могу найти, даже на оффсайте.
DenchikK
темы для него не могу найти, даже на оффсайте.
Вам шашечки или ехать? @анекдот
Ты случаем не видел темы как сделать загрузочным USB-HDD? Вот где понадобится двойная WPI.
DenchikK
22-03-2005, 02:06
Чего не видел, того не видел...
по поводу тем к WPI, есть на msfn, и весьма неплохие, есть здесь (http://www.msfn.org/board/index.php?showtopic=34847&st=130), а также создана недавно отдельная тема здесь (http://www.msfn.org/board/index.php?showtopic=41987), обе эти ссылки можно было найти если пойти по ссылке указанной Vadikan'ом в статье о WPI.
Sanja Alone
26-03-2005, 02:33
Во время установки программ с пом. WPI 3.3.5 выползает такое окно:
Windows Post-Install wizard с сообщением:
Сценарий на данной странице замедляет работу Internet Explorer.
При продолжении выполнения сценария компьютер может не реагировать.
Прервать сценарий?
Да/Нет
Меня бы это вообще не беспокоило, т.к. проги продолжают нормально устанавливаться дальше.
Но, без нажатия на кнопку Нет не появляется следующая страница установки прог (на одной странице 15 заданий, а у меня их около 60).
Ес-но, можно в настройках WPI указать не 15, а 100 заданий на страницу, но тогда не будет виден процесс установки.
А можно нажать один раз кнопочку (или в начале установки запустить autoit-скрипт ожидающий это окно и нажимающий на "Нет") но первое противоречит принципу "unattended", а последнее как-то грубо.
Что подскажете?
P.S. Установку я производил на VMWare 4.5.2 build 8848: на реальной машине не тестил - нет такой возможности.
Sanja Alone
У меня такого нет. Ты что-то неправильно делаешь.
Как ты запускаешь WPI?
Sanja Alone
27-03-2005, 01:18
VelDmi
Пробовал два варианта:
1. из winnt.sif
[GuiRunOnce]
%systemdrive%\install\install.cmd
2. после установки OS тупо набирая в Run-е C:\install\WPI\wpi.hta
Результат одинаковый - то, что я описал выше.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC