УЧЕБНИК ПО АВТОУСТАНОВКЕ WINDOWS

       

Аддоны, использующие SYSOC


Аддоны этого типа устанавливаются с помощью INF скриптов. Настоятельно рекомендуется сначала прочитать Руководство по работе с INF-файлами. По сути собирается собственный установщик (в отличие от аддонов SVCPACK, где зачастую используются готовые установщики с ключами тихой установки).

Как создать собственный INF для установки нужной программы? 

Практически любое приложение устанавливается в три этапа:

  • Размещение необходимых файлов на жестком диске, создание ярлыков;
  • Запись ключей реестра;
  • Регистрация библиотек;
  • С помощью сторонних утилит (RegShot, Ashampoo Uninstaller) собираем эту информацию об установке программы для которой будет создаваться аддон.

    Затем упаковываем все необходимые файлы в СAB-архив (необязательно, но в целях экономии места желательно), а установка этих файлов осуществляется с помощью INF-скрипта, который пишется самостоятельно - на основе полученной информации о папках назначения, копируемых в них файлов, добавления ключей реестра, регистрации библиотек dll.

    Для построения аддона данного типа необходимо использовать следующие конфигурационные файлы: Sysoc, Txtsetup, Dosnet. Строки из этих конфигурационных файлов добавляются в тело их "тезок" в дистрибутиве.

    Файл Txtsetup.sif фактически является списком копируемых файлов для текстового этапа установки, с его помощью копируются файлы и кусты реестра с диска в папку установки Windows. С помощью Sysoc.inf менеджер установки строит список файлов для установки дополнительных компонентов. Затем этот список сверяется с файлом Unattend.txt (Winnt.sif), если он есть. По результатам сверки образуется конечный список устанавливаемых компонентов. Файл Dosnet.inf содержит остальные данные для программы установки на текстовом этапе, в том числе папку установки Windows.

    Фактически аддон типа SYSOC работает следующим образом. При компиляции скриптом Update Pack секции из Sysoc, Txtsetup, Dosnet, находящихся в корневой папке аддона переносятся в дистрибутивные аналоги. Файлы из папки аддона Files копируются в папку дистрибутива I386.
    Затем на текстовом этапе файлы аддона, прописанные в списке Txtsetup.sif, копируются из дистрибутива в папку назначения для последующей установки вместе с дополнительными компонентами из Sysoc.inf. Файл Dosnet.inf используется только при установке Windows с жёсткого диска.

    Пример аддона, использующего SYSOC (addon FoxIT Reader)

    FOXITR2 (папка аддона)

        +Files(папка файлов аддона)



               -+Compresed

               -+ForceCopy

                 --Foxitr2.cab (cab-архив содержит 3 файла собственно программы)

                    *---fxdecod1.dll

                    *---FoxitReader.exe

                    *---lang_ru_ru.xml

                 --Foxitr2.in_(INF-файл запакованный в CAB-архив)

                                   

           -Addon.nfo        

           -Dosnet

           -Txtsetup        >(конфигурационные файлы)

           -Sysoc

    Содержимое Foxitr2.inf (частично)  

    .......

    [SourceDisksFiles]

    ;Generated with gen_sdf_section script

    FoxitReader.exe = 1

    fxdecod1.dll = 1

    lang_ru_ru.xml = 1                           -Определение копируемых файлов



    [DestinationDirs]                               и папок назначения;

    DefaultDestDir = 11

    FOXITR.Install.Copy = 16422, "Foxit Reader"

    .......

    [FOXITR.Install.Reg]

    HKCR,".pdf",,%REG_SZ%,"FoxitReader.Document"

    HKCR,".pdf","Content Type",%REG_SZ%,"application/pdf"   - Добавление параметров в реестр;

    .......

    Файл Sysoc.inf после компиляции аддона.  

    [Components]

     ....

      DrWeb=ocgen.dll,OcEntry,DrWeb.inf,hide,7

      FOXITR2=ocgen.dll,OcEntry,FOXITR2.INF,,7

      klite=ocgen.dll,OcEntry,klite.inf,HIDE,7

    Важно! При создании аддонов sysoc с копированием файлов из CAB-файла, следите, чтобы имена файлов в CAB-файле не совпадали с именами файлов в i386 (сжатыми и несжатыми), в противном случае вместо файла из cab-файле будет скопирован файл из i386.

    Важно! Чтобы интегрировать аддон, но при этом НЕ уставить его, чтобы он был доступен впоследствии для установки через менеджер компонентов Windows, необходимо в установочных INF-файлах каждого аддона закомментировать параметр Modes точкой с запятой.

    ;Modes=0,1,2,3

    Важно! Не забывайте про секцию [DefaultInstall] в вашем INF-файле. Она необходима для того, чтобы INF-файл устанавливался в будущем из контекстного меню (а не через rundll32), если предполагается использовать аддон на установленной системе. Пример: аддон Opera использует для автоустановки секцию [opera], но наряду с этим присутсвтует секция [DefaultInstal].

    Важно! Файлы Sysoc, Txtsetup и Dosnet должны заканчиваться пустой строкой.

    Важно! Про файлы Txtsetup.sif и Sysoc.inf подробнее читайте в Приложениях 3,4. 

    К содержанию


    Содержание раздела