Подготовка инсталлятора аплета

Автомобильный аплет устанавливается независимо от модели автомобиля. Установленный автомобильный аплет может работать с несмколькими версиями программы Check-Engine (установленных для работы с разными автомобилями) без дополнительных инсталляций или настроек самого аплета. Проект инсталляции аплета создается так же как другие инсталляционные проекты. Обычно инсталлятор создается как .cab файл для устойств с Windows CE (Windows Mobile) и как .msi для Windows XP/Vista

Для того, чтобы программа Check-Engine могла найти и запустить аплет, необходимо подготовить дескриптор аплета (файл в формате .xml) и прописать в рестре путь к дескриптору и имя аплета в дескрипторе (один дескриптор может содержать информацию о нескольких аплетах, так же как несколько аплетов могут быть собраны в одной .dll).

Включите подготовленный дескриптор аплета в инсталляционный пакет. Файл дискиптора удобно размещать в том же каталоге, в который устанавливается аплет.

Регистрация аплета в реестре

Все необходимые действия по регистрации аплета в реестре может сделать сам инсталляционный пакет. Для этого добавьте в Registry проекта инсталляции аплета ключ
HKLM\Software\CarApplets\{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
где {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX} - GUID аплета. GUID аплета рекомендуется создать один раз и не менять при подготовке новых версий того же самого аплета.

У созданного ключа сделайте 2 поля типа string:

  1. Поле Descriptor
    Значением этого поля должен быть полный путь к дискриптору аплета.
    Для проекта .CAB
    Если файл дискриптора назван descriptor.xml и размещаться будет в каталоге установки аплета, задайте полю Descriptor значение %InstallDir%\descriptor.xml. При инсталляции инсталлятор вместо %InstallDir% сам подставит полный путь к каталогу, в который пользователь (или операционная система) решил установить аплет.
    Для проекта .MSI
    Если файл дискриптора назван descriptor.xml и размещаться будет в каталоге установки аплета, задайте полю Descriptor значение [TARGETDIR]descriptor.xml. При инсталляции инсталлятор вместо [TARGETDIR] сам подставит полный путь к каталогу установки.

  2. Поле Name
    Значение - имя аплета, под которым аплет описан в дескрипторе (см. атрибут name тэга <applet> дискриптора).

    Например, для следующего дескриптора поле Name должно содержать зачение MyApplet:

    <?xml version="1.0" encoding="utf-8" ?>
    <carapplets>
      <applet name="MyApplet">
        <descriptor>
          <assembly>MyApplets.dll</assembly>
          <classname>MyApplets.MyApplet</classname>
          <title>Мой аплет</title>
        </descriptor>
      </applet>
    </carapplets>
    

Примеры

Примеры инсталляционных проектов аплетов (и .cab и .msi) включены в solution примеров аплетов CarApplet SDK. Откройте solution (файл .sln) любого аплета из каталога "samples\VC#" CarApplet SDK, например samples\VC#\Tachometer\Tachometer.sln.