Описание installerregistry :

  Автор -- Sergey Shilov
  
  Версия -- $Id$

  URL -- $URL$
  
  Утверждаю -- Andrey Orlov, 2007-01-14 14:10

  Аннотация: 
  
    Реестра, предназначенного для регистрации скриптов установки.

  Идея реализации:

    Реестр представляет собой отдельный объект, реализующий интерфейс
    IInstallerRegistry. Этот интерфейс должен предоставлять следующие
    возможности:
        
        - регистрация скрипта установки под указанным именем в указанном
          инсталлере,
        
        - получение записей о скриптах установки, зарегистрированных в
          инсталлере по имени инсталлера.

    Реестр не является persistent-объектом, а сохраняется в пространстве
    имен модуля installerregistry.
    
    Реестр регистрируется как глобальная утилита, предоставляющая интерфейс 
    IInstallerRegistry. 

    Реестр содержит именованные списки записей о скриптах установки.  Имя
    списка используется при регистрации инсталлера, как указание на список
    записей о скриптах установки, относящихся к этому инсталлеру.
    
    Так как инсталлер до момента вызова существует независимо от
    реестра скриптов, то порядок вызова директив installer и script
    не имеет значения. Пример кода реестра приведен ниже:

        reestr = {}
        
        def registerScript(installer_name, script_name, data):
            """Регистрация данных о скрипте по имени инсталлера и скрипта"""
            reestr.setdefault(installer_name, []).append(Script(script_name,data))

    Таким образом, если мы регистрируем скрипт для несуществующего ещё
    инсталлера, в реестр автоматически добавляется запись с именем этого
    инсталлера, но с незаполненными данными по нему. 

