PDA

Показать полную графическую версию : Вопросы По WPI


Страниц : [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

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)

Vadikan
12-03-2005, 23:03
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 так работает,
это будет гораздо интереснее и продуктивнее.

Спасибо за понимание.

Vadikan
14-03-2005, 04:09
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.

Vadikan
15-03-2005, 20:09
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 -
первый он определяется, а уж потом, если на диске нет метки,
осматривает винты.
Сейчас проверю Ваш совет.

Vadikan
16-03-2005, 03:38
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 держать, и делать как я раньше хотел (вроде того, что Вы написали сейчас).
Ну да ладно! Всё равно спасибо Вам большое!

Vadikan
17-03-2005, 04:23
DenchikK
Сорри, проблему решить не удалось. Однако, и запросы у вас были нестандартные.

DenchikK
18-03-2005, 02:44
А можно ещё почти в тему задать вопрос о установке через wpi некоторых программ, с инсталятором installshild - что то не получилось, хотя по описанию на сайте встали и power dvd 6 и aver media - а вот с другими - проблемма. Причем если просто через -s - ставятся. Просто не хочется для этого ещё тему открывать. AutoIt конечно помог, но всё-таки хотелось бы ключами...

Vadikan
18-03-2005, 06:41
DenchikK
Одна проблема - одна тема. Логичнее продолжить в уже существующих темах про Install Shield. Поищите по *shield* в заголовках тем. Парочка найдется. PM в случае проблем с поиском.

VelDmi
19-03-2005, 18:13
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" то спросит я думаю,
можно тут: темы для него не могу найти, даже на оффсайте.

VelDmi
20-03-2005, 09:53
DenchikK
темы для него не могу найти, даже на оффсайте.
Вам шашечки или ехать? @анекдот

Ты случаем не видел темы как сделать загрузочным USB-HDD? Вот где понадобится двойная WPI.

DenchikK
22-03-2005, 02:06
Чего не видел, того не видел...

EgOrus
22-03-2005, 12:38
по поводу тем к 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: на реальной машине не тестил - нет такой возможности.

VelDmi
26-03-2005, 07:59
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