НОВОЕ: OS/2 GURU - Вопросы и ответы

Reviews / articles about OS/2

Operating systems:
ArcaOS, eComStation, IBM OS/2 Warp
Мифы о eComStation 

Unsorted

 

 

ArcaOS 5.0 Русская версия
Пакет русификации ArcaOS 5.0 OS/2 давно доступен. Поддерживается любая версия: 5.0, 5.0.1, 5.0.2.

eCo Software может выпустить и другие пакеты (Немецкий, Голландский, Бразильский Португальский, Испанский, Шведский и т.д.)

Создание дистрибутива программы для инсталятора WarpIn


TITLE: Создание дистрибутива программы для инсталятора WarpIn

DATE: 2010-09-01 00:44:57

AUTHOR: eCo Software

В ближайшие 2-3 года WarpIn останется главным инсталятором программ eComStation.

  • У каждого пользователя eComStation установлен WarpIn (в eCS 1.2 еще были проблемы, начиная с eCS 1.2.5 WarpIn встроен в операционную систему корректно)
  • В формат .wpi (WarpIn) запакованы сотни программ.
  • Пользователи привыкли к WarpIn, управляют пакетами через его менеджер.
  • Разработчики знают как паковать программы в .wpi

WarpIn в действии..

  • Текущая версия WarpIn 1.0.19
  • Скачать: ftp://ftp.netlabs.org/pub/warpin/
  • Продукт компании Netlabs.org (Швейцария)
  • Разработчики: Ulrich Mueller, .. - всего около 10 человек.

 

Источники информации?

Как запаковать свою программу в WarpIn? Где прочитать про формат текстового файла .wis ?

Вся-вся информация написана в книжке -> (в каталоге WarpIN) view wpi_prog.inf, какие переменные, какие ключевые слова, какие команды есть.

Также полезно вскрывать пакеты других разработчиков и смотреть что и как они делают (wic -x package.wpi и wic -X package.wpi)

Рассмотрим основные варианты запаковки программ в формат WarpIn.

Сценарий 1: Программа + данные, создать 1 объект программы

  • Есть: .exe + .ico + .dat файлы
  • Задача: установить в каталог с программами и создать объект программы на рабочем столе.

Скачать демонстрационный пакет
(Для сборки .wpi дистрибутива достаточно запустить calcmi.cmd)

Все файлы программы лежат в подкаталоге и они будут установлены в каталог программ x:\PROGRAMS\CalcMi

Теперь рассмотрим файл calcmi.wis в котором описан пакет,
вот каталог, куда устанавливать (значение переменной раскроется и получится x:\PROGRAMS\CalcMi):

      TARGET="$(WARPIN_DEFAULTAPPSPATH)\CalcMi"

На рабочем столе будет создан объект программы:

      CREATEOBJECT="REPLACE WPProgram|CalcMi|<WP_TOOLS>|
          EXENAME=$(1)\Calcmi.exe;STARTUPDIR=$(1);OBJECTID=<CALCMI_EXE>;"

Создание объекта 1:1 как в REXX. (Много примеров работы с WPS, и примерами создания объектов на рабочем столе можно найти в каталоге x:\ecs\install\*.cmd на вашем компьютере)

Итак, первое правило: создавайте все объекты с помощью CREATEOBJECT, а не вызовом дополнительного REXX-скрипта. Тогда, если юзер захочет убрать программу из системы, WarpIn сам удалит созданные при установке объекты.

Полезный совет: В строчке PACKAGEID давайте будем писать версию программы не в виде 2.1, а в виде штампа времени (YYYY\MM\DD): 2010\08\25

 

Сценарий 2: Драйвер + добавить загрузку в CONFIG.SYS

  • Есть: драйвер .sys
  • Задача: установить его в системный каталог, добавить загрузку в CONFIG.SYS

Скачать демонстрационный пакет
(Для сборки .wpi дистрибутива запустите x-wo.cmd)

Пример добавления строки в CONFIG.SYS

      CONFIGSYS="SET C1=SDDGRADD,WOVERLAY | UNIQUE(SDDGRADD)"

Обратите внимание: При установке драйвера обычно фиксируют целевой каталог, для этого пишем "FIXED":

    ..
      INDEX=1 FIXED
    ..

 

Сценарий 3: .. + проверить наличие рантаймов или других пакетов

Проверять наличие рантаймов особенно важно для WPS программ, иначе пользователь никогда не догадается, почему рабочий стол не загружается.

Добавьте в секцию <PCK> .. </PCK> строчку вида:

      REQUIRES="eCo Software\Runtime\Base\2008\03\02"

В кавычках указан PACKAGEID другого пакета (рантайма), без его наличия в системе, установка вашей программы будет прерываться.

В примере выше написано, что программа требует наличия Base Runtime от компании eCo Software, версия которого 2008/03/02 или выше.

Полезный совет: Обязательно укажите в документации системные требования своей программы и список (URL) рантаймов, которые должны быть заранее установлены.

 

Сценарий 4: Два пакета в одном .wpi

Если в 1 .wpi пакет надо положить две программы (или две части одной программы), которые должны быть установлены в 2 разных каталога, тогда нужно описать два пакета <PCK> .. </PCK>

Скачать демонстрационный пакет
(Для сборки .wpi дистрибутива запустите x-About.cmd)

В этом примере .exe файл и его данные отправляются в 1 каталог, а несколько файлов с данными - в другой каталог.

 

Сценарий 5: Установка особенных пакетов

Также советуем смотреть дистрибутивы:

Для установки Аудио I/O Proc mmioCast
Установка шрифтов droid

 

Сценарий 6: Установка сложных программ

Отдельно стОит рассмотреть установку OpenOffice.org и XWLAN Manager.

(присылайте свои комментарии к .wis файлам этих программ, ваше имя будет указано в статье)

 

Ограничения WarpIn:

WarpIn имеет несколько ограничений:

  • WarpIn не приспособлен для решения зависимостей, как RPM (т.е. нет автоматической подкачки нужных библиотек и рантаймов).
  • Он с трудом устанавливает огромные программы типа OpenOffice.org. Используйте другой инсталятор.
  • Не пытайтесь делать мультиязычные пакеты. Собирайте пакеты только на английском языке.
  • В WarpIn нет возможности предоставить пользователю какой-либо выбор, кроме как выбор пакетов. Следовательно, создавать пакеты нужно с этим требованием. Например, если есть различные конфигурации одной программы, отличающиеся только создаваемыми ссылками на рабочем столе, в автозапуске и т.п., то уточнить у пользователя вариант установки будет непросто.
  • Также нет возможности организовать на момент установки автоматическую деинсталляцию других программ, например, более старых версий устанавливаемой программы. И если название программы в новой версии немного изменилось, то старая запись в БД варпина не будет затёрта.

 

В каких случаях программу надо паковать в .wpi?

WarpIn должен использоваться в случаях:

  • Если надо прописать что-то в CONFIG.SYS (все драйверы),
  • если программа должна иметь возможность де-инсталяции (все WPS-программы),
  • если программа зависит от рантайма и нужны проверки (все портированные),
  • если программа большая и сложная (OpenOffice.org),
  • если ..

Думайте о пользователях! У них нет времени разбираться в текстовых инструкциях и раскладывать файлы вручную.

Присылайте дополнения к этому тексту

a) Название сценария, b) текст с описанием сценария, c) ваше имя

через веб-форму

 


Дополнительная информация:

  • Авторы текста: Eugene Gorbunoff, Yuri Larin (про ограничения)

Попробуй программу:

[Здесь может быть реклама вашей программы, контакты]

Комментарии:

Joseph
2010-09-02 15:27:22

Очень скудно.

Нет примера именно сложных пакетов.

Нет примера регистрации классов

Нет инструкции по выполнению сложных действий в процессе установки - у меня продукт помимо стандартных операций прописывает себя в несколько служебных конфигураций с помощью собственного рантайма - как это сделать?

Николай Колесников
2010-09-03 15:26:30

Похоже, это первый обзор про warpin, для начала сойдёт. "Много буков". А мне интересно, как вызывать REXX скрипт? Как вызвать детект одной железки (detect.exe) и обработать код возврата из скрипта установки?

Oliver Cremerq
2010-09-10 12:18:24

Please use for repacking of "Microsoft Fonts Pack" the wis code from the new font-packages from Alex Taylor (on Hobbes).

For Example: droidfont_100.wpi

Improver
2010-09-13 08:55:51

2Joseph:

это можно сделать только вызовом EXECUTE="имя команды". Команда будет исполнена после установки пакета.

2Николай Колесников:

Можно внедрить REXX-скрипт в пакет инсталляции, но следует учитывать, что этот скрипт будет исполнятся ДО инсталляции программы, т.е. если скрипт будет вносить какие-либо изменения в конфигурацию системы, то они будут произведены, даже если пользователь только откроет пакет варпина.

А вызвать внешний REXX-скрипт можно при помощи той же команды EXECUTE="...", но вот только код возврата обработать уже не получится.

В eComStation 2.0 реализовано удобное (автоматическое) переключение между WiFi и Ethernet-соединением. Что нового в eCS 2.0?

 


 

(C) OS2.GURU 2001-2021