Показать полную графическую версию : Вопросы По WPI
И ещё 1 вопрос пожалуйста:
Я заполняю WPI опираясь на записи в файлике RunOnceEx
например
REG ADD %KEY%\036 /VE /D "QuickTime 7.0 Public preview" /f
REG ADD %KEY%\036 /V 1 /D "%CDROM%\Software\QuickTimeInstaller.exe -s" /f
REG ADD %KEY%\036 /V 2 /D "REGEDIT /S \"%CDROM%\Software\qt7.reg\"" /f
копирую в WPI вот так
%CDROM%\Software\QuickTimeInstaller.exe -s
REGEDIT /S \"%CDROM%\Software\qt7.reg\"
Вопрос такой: Нужно ли оставлять обратный слеш и кавычку во второй строке , или для WPI это не критично?
Debugger
21-07-2005, 09:55
fanatf1
У тебя тоже всё работает с диска(но кроме конечно скопированного wpi.cmd)?
Да, работает.
Sanja Alone
22-07-2005, 02:23
fanatf1
setenv - что она делает и сильно она нужна?
Устанавливает/редактирует/удаляет системные переменные прямо в реестре. Нужна для того, чтобы строка %cdrom%\wpi.cmd в winnt.sif не вызвала у Винды непонятку - а Шо такое cdrom ? :)
В принципе, тоже самое можно сделать с пом. стандартной команды:
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v cdrom /t REG_EXPAND_SZ /d %~d0Но я не уверен, что эта переменная будет доступна без перезагрузки. Кстати, можешь это проверить. И не забудь сообщить результат (у меня сейчас нет времени для тестов).
А удалить переменную стандартными средствами можно так:
REG DELETE "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v cdrom /f
%CDROM%\Software\QuickTimeInstaller.exe -s
REGEDIT /S \"%CDROM%\Software\qt7.reg\"
Ты как переносишь строки в WPI - с пом. егойного "визуального редактора" или прямо в config.js?
Если последнее, то все обратные слэши в пути нужно дублировать. А кавычки нужны только если сам установщик твоей проги требует их наличия, например AcronisTI:
trueimage8.0_s_en.exe /silent /serial="XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"Тогда в config.js нужно записать:
cmd1[pn]=['%cdrom%\\Soft\\Acronis\\trueimage8.0_s_en.exe /silent /serial="XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"']А твой пример нужно привести к виду (в случае прямого редактирования config.js):
cmd1[pn]=['%cdrom%\\Software\\QuickTimeInstaller.exe -s']
cmd2[pn]=['REGEDIT /S %cdrom%\\Software\\qt7.reg']Или (в случае использования WPI-шного редактора):
%cdrom%\Software\QuickTimeInstaller.exe -s
REGEDIT /S %cdrom%\Software\qt7.reg
Sanja Alone
Спасибо за полный и познавательный ответ.
Бум пробовать.
EasyFrag
24-07-2005, 14:14
Доброго времени суток!
Решил прикрутить к своему автоматическому диску установку приложений через WPI. Вроде со всем разобрался, но возникла следующая проблема:
При запуске WPI выскакивает окно "Ошибка сценария Internet Explorer" следующего сожержания:
http://www.sacom.biz/about/err1.gif
После этого выскакивают еше несколько окон аналогичного содержания. В итоге WPI не запускается :(
PS: Пробовал на другом компьютере - все ОК.
Sanja Alone
25-07-2005, 01:51
EasyFrag
Пробовал на другом компьютере - все ОК.
Наверное, на другом компьютере есть Windows Script 5.6 для русской версии Windows 2000/XP (http://download.microsoft.com/download/a/3/6/a36fd52f-ad38-4fd2-bd2c-5b6c2dc94654/scriptru.exe) (695 256 байт; Содержит VBScript, JScript, Windows Script Components, Windows Script Host и Windows Script Runtime; 2 сентября 2004 г.)
Или на этом компе слишком много запрещено...
Ничего другого я придумать не могу, но, если посмотреть сюда (http://members.aon.at/equinox/wpi/doc.htm), где написано нижеследущее:
Requirements
Previously, WPI was designed to run at 800X600. WPI 2.0 now supports resolutions from 640 X 480 up to 1024 X 768. WPI also requires the Windows Scripting host. Windows XP and 2000 can run HTA Files out of the box by default, but when you design a winnt.sif, be sure to have this component installed. You may create a script to remove it after WPI has executed.
It’s recommended that you have:
- A winnt.sif file that can call a few batch files.
- Internet Explorer 6 (which comes with XP).
- Knowledge of program installation switches.
- It’s a good idea to be fluent with JavaScript.
- Time to configure that thing.
то, возможно, что я прав.
EasyFrag
25-07-2005, 11:53
Sanja Alone
Наверное, на другом компьютере есть Windows Script 5.6 для русской версии Windows 2000/XP (695 256 байт; Содержит VBScript, JScript, Windows Script Components, Windows Script Host и Windows Script Runtime; 2 сентября 2004 г.)
Огромное спасибо! Сработало.
PS: Хотя достаточно странно, на компе где WPI отказывался запускаться установлен SP2 и все заплатки, в том числе был и Windows Script 5.6. Обе копии WinXP легальные. Единственное что приходит в голову, то что система уже подзамусорилась ;), а на втором компе она еще свежая, 2 дня от роду :)
Ну вот что я собственно ожидал .. первые проблемы:
1. Положил всю папку WPI в $OEM$ поправил в wpi.cmd
REM Determine the WPI startup path.
REM if wpi should run off the cd the replace %~dp0 with %cdrom%.
set wpipath=%CDROM%\$OEM$\WPI
2. В папку System32 на жёсткий диск копируется WPI.cmd
3. В winnt.sif прописано
[GuiRunOnce]
%systemroot%\system32\wpi.cmd
При установке получаем следующее
Открыто окно cmd
Found CDROM as
----start Невозможно найти файл или неправильная команда
----start Невозможно найти файл или неправильная команда
----start Невозможно найти файл или неправильная команда
(кстати тоже самое пишет если я запуская просто wpi.cmd из $OEM$\WPI )
ПОПРАВКА: Заметил что такое пишет когда в пути к WPI есть папки с пробелом в имени
!
и тут же поверх открывается ещё 1 окно с заголовком
C:\Documents and Settings\имя пользователя\Desktop\wpi.cmd
и установка останавливается ..... закрываю крестиком окна .. запускается обычная голая винда :(
Что-то где-то не туда копируется ????
Подскажите! Плиз
fanatf1
Перед set wpipath=%CDROM%\$OEM$\WPIнадо назначить %CDROM%. Поскольку wpi у тебя запускается из system32, то %~dp0 работать не будет. Надо, видимо, так
FOR %%d 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 %%d:\WIN51 SET CDROM=%%d:
set wpipath=%CDROM%\$OEM$\WPI
Vadikan
Вот так у меня написано в стандарте в скаченной WPI 3.6.1
REM Example, how to look for CDROM-drive. Must have a file to identify in its root (like WIN51 or WPI.ico).
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 CDROM=%%i:
echo Found CD-Rom as drive %CDROM%
ПОПРАВКА: Кстати может проблема что она ищет иконку WPI . Может стоить поставить стандартно WIN51 на определение?
и дальше
REM Determine the WPI startup path.
REM if wpi should run off the cd the replace %~dp0 with %cdrom%.
set wpipath=%cdrom%\$OEM$\WPI
как я понимаю вроде всё правильно ...
но и пустое окошко с заглавлением C:\Documents and Settings\имя пользователя\Desktop\wpi.cmd меня настораживает
fanatf1if exist %%i:\wpi.icoозначает, что в корне диска должен быть файл wpi.ico. Он там есть?
Vadikan
Да я это тоже понял :) Его там небыло .. счас исправил. Вечером проверю.
ПОПРАВКА! Название белого окошка в заголовке
C:\Documents and Settings\имя пользователя\wpi.hta
Ура! Все выше приведённые вопросы сняты!
Я разобрался :)
Если кому интеерсно:
Действительно нужно было определение ставить по WIN51 $)
Никаких окон - всё запустилось и позволило выбирать . В общем WPI заработал.
Ошибка про ------start и т.д. возникает когда WPi уже настроен на работу с СД и соответвенно неможет выполнить эти проги т.к. путь д.б. с ЦД !
Вот так :)
Но есть одно большое НО:
Выбираю необходимые проги. Жму установить ... появляется вид RunOnceEx начинается установка прог И на каждой программе ошибка
Немогу найти файл D:\$OEM$\WPI\Software\xxxxxx.xxx
Поясню: Все программы лежат у меня в $CDROM$\Software, а WPI в $CDROM$\$OEM$\WPI\ а сидиром у меня D
в настройках WPI прописано следущее
REM Example, how to look for CDROM-drive. Must have a file to identify in its root (like WIN51 or WPI.ico).
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%
REM Determine the WPI startup path.
REM if wpi should run off the cd the replace %~dp0 with %cdrom%.
set wpipath=%CDROM%\$OEM$\WPI\
Вот :( Как я понимаю получилось что переменная CDROM стала CDROM\WPI .... и соответвенно программа с кодом
%CDROM%\Software\QuickTimeInstaller.exe -s
должна была выполниться с D:\Software а реально пытается запустить с D:\$OEM$\WPI\Software\ и естественно там такой папки нет
Вадикан на тебя одна надежда .. подскажи где м.б. ошибка?
fanatf1
Переменная CDROM назначаемая в wpi.cmd живет на протяжении работы файла. WPI сама назначает переменную %CDROM% в своих скриптах. Рекомендую почитать тему сначала, т.к. это обсуждалось уже.
Sanja Alone
30-07-2005, 04:05
fanatf1
...а реально пытается запустить с D:\$OEM$\WPI\Software\
Ликбез о назначении переменной %cdrom% самим WPI.
Принцип такой: Ищется файл wpi.ico в корне всех съемных приводов компа. Если там его нет - делается поиск все того же wpi.ico по абсолютному пути (твой случай). Если и здесь неудачка - из реестра читается параметр SourcePath ветки HKLM\Software\Microsoft\Windows\CurrentVersion\Setup и из него извлекается буква диска. Все это делает функция FindCDRom() (файл generate.js) - можешь поправить как тебе больше нравится (например, измени имя файла wpi.ico на WIN51 - проблем не будет).
P.S. По поводу установки переменной %cdrom% из батника на этапе cmdlines.txt.
Я проверил - работает (нужно писать полное название раздела реестра).
Установка:
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v cdrom /t REG_EXPAND_SZ /d %~d0
Удаление:
REG DELETE "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v cdrom /fТ.о., можно обойтись и без setenv, конечно, если ты когда-нибудь решишь юзать WPI без копирования на винт его файлов.
Здравствуйте!
Такая ситуация:
-устанавливаю, к примеру, Total Commander 6.03a и хочу увидеть его в привычном для себя интерфейсе, для чего должен, по крайней мере, скопировать файл DEFAULT.BAR с моими настройками в каталог TotalCmd.
Так вот,
-могу ли я каким-либо образом прописать команду
xcopy "%cdrom%\WPI\Install\TotalCmd\DEFAULT.BAR" "%programfiles%\TotalCmd\*.*" /y /q /s /i /h
непосредственно в config.js, чтобы файл копировался только если будет устанавливаться Total Commander 6.03a?
Читал форум, хэлп по WPI, ничего подобного не нашел. Пробовал методом тыка... результат - нулевой. Подскажите хитрый синтаксис.
И возможно ли такое в принципе?
Спасибо!
P.S. Понятно, что некоторые файлы можно поместить в $Progs-каталог и успокоиться, но есть ситуации когда скопировать файл нужно именно после установки приложения.
P.P.S. Кстати, в последнем дистрибутиве WPI_3.6.1.rar, взятом с сайта http://www.btsunattended.net (http://www.btsunattended.net/) в файле WPI.cmd почему-то отсутствуют закрывающие кавычки в строке:
regedit /s "%wpipath%\common\wpi.reg
будьте внимательны!
Sanja Alone
03-08-2005, 01:33
befou
...чтобы файл копировался только если будет устанавливаться Total Commander
Можешь так попробовать:
config.js:
cmd1[pn]=['%cdrom%\\WPI\\Install\\TotalCmd\\tcmd603a.exe']
cmd2[pn]=['%cdrom%\\WPI\\Install\\TotalCmd\\totalcmd.cmd']totalcmd.cmd:
@echo off
xcopy DEFAULT.BAR "%programfiles%\TotalCmd\" /y /q /s /i /h
exitЭто самый надежный способ.
-могу ли я каким-либо образом прописать команду
cmd2[pn]=['xcopy %cdrom%\\WPI\\Install\\TotalCmd\\DEFAULT.BAR "%programfiles%\\TotalCmd" /y /q /s /i /h']
Эта фишка точно работает на WPI 3.6.1 (http://www.arkanasoft.com/WPI/WPI_3.6.1.rar) и точно НЕработает на новой WPI 4.2 (http://www.arkanasoft.com/WPI/WPI_4.2.rar) - пишет JavaScript Error.
Вышла новая версия 4.2 (http://www.arkanasoft.com/WPI/WPI_4.2.rar)
DenchikK
04-08-2005, 02:19
Что то явно не здоровое прослеживается в работе этой новой версии.
1. 3 раза скачивал версию 4.2, последний раз только что. Только вот при запуске пишется в правом нижнем углу, что версия 4.1
2. В настройках нельзя выставить Application To Display Per Install Window. Что бы я не выставлял тут, в файле useroptions.js значение остаётся неизменным: var appsPerInstallWindow=100; (это ж какой экран то иметь надо!)
3. Самая пахабная вещь: после окончания установки программ, стираются почти все иконки с рабочего стола! А виной тому - стоящая по умолчанию комманда удаления в файле wpi.cmd:
del /s/q "%userprofile%\desktop\*.lnk"
Очень смешно...
Пользуясь случаем, хочу спросить - как можно изменить цвет шри фта для имён групп? Никак не выходит.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC