CS Интегратор для AutoCAD. Документация

1.        Введение

CS Интегратор для AutoCAD (далее CS Интегратор) предназначен для связывания приложений с профилями AutoCAD. Каждому профилю может быть поставлено в соответствие одно или несколько приложений, которые загружаются при активизации профиля, и выгружаются при его деактивизации. Переход от одной группы приложений к другой происходит путем переключения соответствующих профилей.

2.        Пользовательский интерфейс

CS Интегратор существует в виде двух программ, первая является приложением Windows, вторая же представляет собой приложение AutoCAD 2002/2004/2005/2006/2007/2008/LT 2002/LT 2004/LT 2005/2006/2007.

2.1.        Управление приложениями и профилями

CS Интегратор под Windows и под AutoCAD имеют общую часть – управление приложениями и профилями. Диалог управления содержит список профилей и список приложений, установленных под данную версию AutoCAD. Пользователь может ассоциировать приложение с профилем путем установки соответствующих «галочек», а также изменять порядок загрузки приложений в профиле. Кроме того, CS Интегратор позволяет создавать, удалять и переименовывать профили.

2.2.        CS Интегратор для Windows

Помимо изложенных в п. 2.1 функций, CS Интегратор под Windows имеет следующие функции:

·        Запуск AutoCAD в определенном профиле

·        Создание ярлыков для запуска AutoCAD в определенном профиле.

2.2.1.   Запуск AutoCAD в определенном профиле

Запуск AutoCAD в определенном профиле производится при помощи командной строки вида:

 

CsAcIngegrator.exe [-r -a "ACAD_ID" -p "Профиль" [-с -g "Приложение" -g "Приложение"]
-AcCL ACAD_CMDLINE]

 

Опции:

-r                     Запустить AutoCAD (необходимы опции -a и -p)

-a                     AutoCAD Id (например, AutoCAD\R16.0\ACAD-201:409)

-p                     Название профиля

-AcCL             Все аргументы командной строки, идущие далее, передаются в командную строку AutoCAD.

-AcSSE           Исполнить строку (SendStringToExecute) при запуске АвтоКАДа после загрузки приложений. Перед вызовом SendStringToExecute(), для строки вызывается функция CAcUiString::ConvertMenuExecString(). Первый запущенный Интегратор с этой командой запускает АвтоКАД, все последующие пробрасывают команды в уже запущенный АвтоКАД.

-c                     Создать профиль, если не существует (обычно используется вместе с –g)

-g                     Ассоциировать приложение с вновь созданным профилем

 

 

Опции -c -g применяются для создания профиля приложения, если его не создал инсталлятор, или инсталляция производилась другим пользователем (например, Администратором). Начиная с версии 1.0.64, при использовании опций -c -g проверяется наличие в разделе HKCU пользователя профилей соответствующей версии AutoCAD. Если профили не найдены, пользователю выдаётся сообщение, что перед запуском продукта необходимо запустить AutoCAD как минимум один раз.

 

Пример:

CsAcIntegrator.exe   -r -a “AutoCAD\R15.0\ACAD-1:409” -p “MyProfile” -c -g MyApp -AcCL
-t MyTemplate.dwt

 

Автоматический запуск CS Интегратора под AutoCAD осуществляется только при запуске AutoCAD при помощи CS Интегратора для Windows.

2.2.2.   Создание ярлыков для запуска AutoCAD в определенном профиле.

Для создания ярлыков с командной строкой, вид которой описан в предыдущем пункте, необходимо использовать операцию перетаскивания (DragnDrop) из списка профилей. При создании ярлыка просматривается список приложений, ассоциированных с профилем. Первое встреченное значение шаблона или иконки ярлыка (см. п. 3.1) используются для создания ярлыка.

2.3.        CS Интегратор для AutoCAD

Модуль расширения AutoCAD управляет загрузкой и выгрузкой приложений. Кроме того, модуль позволяет переключать профили в AutoCAD и AutoCAD LT. CS Интегратор позволяет изменять соответствие профилей и приложений под текущей версией AutoCAD.

Изменение настроек CS Интегратора в AutoCAD происходит в странице расширения диалога Настройки. Под AutoCAD LT диалоговое окно CS Интегратор вызывается при помощи команды DERU0003_CsAcIntegrator (CsAcIntegrator).

Выгрузка и загрузка приложений происходит как при стандартном переключении профилей, так и при переключении при помощи команды переключения профилей.

2.3.1.   Команда переключения профилей

CS Интегратор регистрирует команду DERU0003_ChangeProfile (CsChangeProfile) в группе команд DERU0003_CsApm, позволяющую переключать профили и загружать соответствующие приложения.

2.4.        Автоматический поиск вновь установленных версий AutoCAD и приложений под них

Внимание! Автоматический поиск (обновление конфигурации по результатам поиска) не работает в Windows Vista, т.к. CsAcIntegrator.exe работает в режиме asInvoker в котором запрещена запись в область HKLM. Если запустить CsAcIntegrator.exe в режиме “as administrator”, обновление конфигурации произойдёт успешно.

2.4.1.   Автоматический поиск версий AutoCAD

При каждом запуске CS Интегратор проверяет установленные в системе версии AutoCAD. В случае обнаружения вновь установленной версии AutoCAD осуществляется ее автоматическая регистрация в CS Интеграторе. Список версий AutoCAD, для которых поддерживается автоматический поиск, приведен в файле Products.ini, расположенном в папке SYSDRIVE:\Program Files\Common Files\Consistent Software\CsAcIntegrator.

2.4.2.   Автоматический поиск приложений

CS Интегратор при каждом запуске проверяет установленные под каждую из версий AutoCAD приложения. В случае обнаружения вновь установленного приложения, осуществляется его автоматическая регистрация в CS Интеграторе. Список приложений, для которых поддерживается автоматический поиск, приведен в файле Products.ini, расположенном в папке SYSDRIVE:\Program Files\Common Files\Consistent Software\CsAcIntegrator.

3.        Программный интерфейс

3.1.        Рекомендации по архитектуре приложений

3.1.1.   Загрузочный модуль

Каждое приложение, поддерживающее CS Интегратор, должно содержать загрузочный модуль. Модуль представляет собой arx- или alx-модуль, загружающий все остальные модули приложения в необходимом порядке.

На загрузочный модуль налагаются следующие требования:

·       Загрузочный модуль не должен зависеть ни от одной не-системной библиотеки,

·       Загрузочный модуль не должен полагаться на наличие директории продукта в PATH.

·       Загрузочный модуль должен позволять загружать приложение при любой текущей директории.

Примечание: Если по каким-либо соображениям существование единого загрузочного модуля нежелательно, просьба об этом сообщить разработчикам CS Интегратора.

3.1.2.   Файл acad.rx и SupportPath

Приложения должны загружаться, не требуя наличия директории приложения в SupportPath профиля. В противном случае CS Интегратор может не суметь загрузить приложение в какой-либо отличный от «родного» профиль.

При наличии файла acad.rx в директории, указанной в SupportPath профиля, порядок загрузки приложений может отличаться от указанного в CS Интеграторе для данного профиля.

3.1.3.   Профили

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

3.1.4.   Формат меню-файлов в AutoCAD (LT) 2006+

В AutoCAD 2006, при загрузке меню через IAcadMenuGroups::loadMenu(), панели инструментов и пункты меню добавляются во все профили и рабочие пространства (workspaces). Это просходит, если у панелей инструментов выставлен флажок «_Show», а пункты меню добавляются через MNL файл.

Для того, чтобы панели инструментов и пункты меню добавлялись только в текущий профиль, необходимо отказаться от использования MNL файла и заменить флажок «_Show» на «_Hide». CS Интегратор при загрузке меню делает панели инструментов видимыми и добавляет пункты меню в конец панели меню. В настоящей версии делаются видимыми все панели инструментов и добавляются все пункты меню (**POP1-**POP499).

3.1.5.   Загрузка меню в в AutoCAD (LT) 2006+

При первом запуске приложения в AutoCAD (LT) 2006 Интегратор создает рабочее пространство (workspace) с именем, совпадающим с именем профиля. В этом рабочем пространстве включаются пункты меню и панели инструментов. При дальнейших запусках проверяется какое рабочее пространство является текущим, при несовпадении имени с именем профиля текущим устанавливается одноименное рабочее пространство.

При переключении профиля во время работы АвтоКАДа, проверка рабочего пространства не производится.

 

3.2.        Регистрация приложений в CS Интеграторе

Для регистрации приложений в CS Интеграторе в реестре создаются следующие ключи:

HKLM\Software\Autodesk\AutoCAD\Version\Locale\(CSApps | Applications)\CsAcIntegrator

Applications

      My Application1

      My Application2

My Application3

     

В каждом ключе создаются следующие значения:

Description                      писание приложения

Loader                            путь к загрузочному модулю приложения

Loader1, Loader2,...       путь к дополнительным модулям приложения, если их не загружает загрузочный модуль

MenuFile                         файл меню (*.mnu), ассоциированный с данным приложением

MenuGroup                     название группы меню

Unloadable                      =1, если приложение выгружаемое

Profile                             название профиля, с которым необходимо ассоциировать приложение

KeepProfileApps             =1, не удалять уже существующие ассоциации с приложениями

Template                         шаблон AutoCAD, ассоциированный с приложением. При создании ярлыка передается в командную строку запуска AutoCAD.

Modules                          список кодированных модулей (для AutoCAD LT)

CommandGroups            список групп команд (для AutoCAD LT)

LargeIconPath                 путь к файлу в формате BMP с изображением большой (32х32) кнопки на панели инструментов. (Пока не используется. В будущем будет использоваться для автоматического заполнения одноименного поля в секции ToolbarItem см. п. 3.4)

SmallIconPath                 путь к файлу в формате BMP с изображением маленькой (16х16) кнопки на панели инструментов. (Пока не используется)

ShortcutIconPath             путь к файлу в формате ICO, который будет ассоциироваться с ярлыком при создании его при помощи перетаскивания из списка профилей.

Начиная с версии 1.0.64

Publisher                         название компании—автора продукта. Используется для создания директории %AppData%\Publisher\My Application

PerUserMenu                  =1, копировать меню перед первой загрузкой в %AppData%\Publisher\My Application\ACAD_KEY\MenuFile

 

Примечание 1: Все значения, кроме значения Loader являются не обязательными

Примечание 2: Здесь и далее запись (CSApps | Applications) означает, что для версий AutoCAD (LT) 15.0 используется ключ CSApps, а для версий 16.0 и выше используется ключ Applications.

3.2.1.   Ассоциация приложений с профилем

Для связи приложений с профилем, внутри ключа профиля в реестре создаются следующие ключи.

HKCU\Software\Autodesk\AutoCAD\Version\Locale\Profiles\My Profile\CsAcIntegrator

      Applications

      My Application1

      My Application2

В каждом ключе создаются следующие значения:

            LoadOrder – индекс порядка загрузки приложения. Если 0 – автоматическое управление порядком загрузки.

3.2.2.   Порядок загрузки приложений

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

HKLM\Software\Autodesk\AutoCAD\Version\Locale\(CSApps | Applications)\CsAcIntegrator

StdLoadOrders

      My Application 1=2

      My Application 2=4

     

Данная область реестра не предназначена для изменения пользовательскими программами и обновляется при установке обновленных версий CS Интегратора. Данные для обновления находятся в секции LoadOrder файла Product.ini

Порядок загрузки может быть переопределен в каждом профиле, для чего значение LoadOrder приложения в профиле (п. 3.2) должно быть отлично от нуля. В случае наличия в профиле приложений с переопределенным порядком загрузки, в начале загружаются они, затем же оставшиеся приложения со стандартным порядком загрузки. Если стандартный порядок загрузки приложения отсутствует, приложение загружается последним, причем порядок загрузки нескольких таких приложений не определен.

3.3.        Загрузка CS Интегратора

CS Интегратор под AutoCAD загружается только при запуске AutoCAD-а при помощи CS Интегратор под Windows (см. п. 2.2.1).

Загрузчик CS Интегратора стартует при каждом запуске AutoCAD-а и проверяет в реестре значение RunPM (REG_DWORD) в подветви CsAcIntegrator ветви текущего профиля. Если RunPM=1, то значение удаляется и загружается CS Интегратор. Значение RunPM=2 используется для отладочных целей, в этом случае загружается CS Интегратор, но значение не удаляется.

По завершении операций по загрузке CS Интегратор, стартер выгружается.

3.3.1.   Загрузка CS Интегратора в AutoCAD LT

В целом, механизм загрузки под AutoCAD LT, такой же, как и под AutoCAD. В AutoCAD LT перед загрузкой CS Интегратора стартер загружает Application Enabler (yalae.dbx для LT 2002, yalae4.dbx для LT 2004 или yalae5.dbx для LT 2005) и Command Enabler (yalce.arx для LT 2002, yalce4.arx для LT 2004 или yalce5.arx для LT 2005) .

 

Ini-файл Application Enabler-а (для LT 2004 и выше) имеет вид:

[Modules]

yalceX.arx (где X=4 для LT 2004 и X=5 для LT 2005)

CsAcIntegrator.alx

Все остальные кодированные модули динамически включаются CS Интегратором в списки Application Enabler-а на основании ключа реестра:

 

HKLM\Software\Autodesk\AutoCAD\Version\Locale\(CSApps | Applications)\CsAcIntegrator

      Applications

            My Application1

                  Modules=”MyArx.arx MyDll.dll”

 

Ini-файл Command Enabler-а имеет вид:

[CommandGroups]

Group0=DERU0003_CSAPM

Все остальные группы команд динамически включаются CS Интегратором в списки Command Enabler-а на основании ключа реестра:

 

HKLM\Software\Autodesk\AutoCAD\Version\Locale\(CSApps | Applications)\ CsAcIntegrator

      Applications

      My Application1

CommandGroups=”MYGROUP1 MYGROUP2”

Модули и группы команд разделяются пробелами.

3.4.        Модуль CsApmReg.dll

Модуль устанавливается при установке CS Интегратора и расположен в папке
SYSDRIVE:\Program Files\Common Files\Consistent Software\CsAcIntegrator. Модуль содержит ряд функций, упрощающих регистрацию приложений в CS Интеграторе.

 

struct PMAN_REG_DATA

{

  DWORD dwSize;                  размер структуры PMAN_REG_DATA в байтах

  DWORD dwRegIndex;              ключ реестра, 1-HKCU, 2-HKLM. Должно быть 2.

  LPTSTR pszKey;                 ключ AutoCAD,
например “AutoCAD\\R16.0\\ACAD-201:409”

  LPTSTR pszLogicalName;         название приложения

  LPTSTR pszLoader;              путь к загрузочному модулю

  LPTSTR pszDescription;         описание приложения

  LPTSTR pszModules;             список кодированных модулей

  LPTSTR pszCommandGroups;       список групп команд

  LPTSTR pszMenuGroup;           группа меню

  LPTSTR pszMenuFile;            путь к файлу меню

  LPTSTR pszTemplate;            шаблон чертежа

  DWORD dwUnloadable;            выгружаемое ли приложение (BOOL)

  LPTSTR pszLargeIconName;       путь к большой (32x32) картинке кнопки в формате BMP

  LPTSTR pszSmallIconName;       путь к маленькой (16x16) картинке кнопки в формате BMP

LPTSTR pszShortcutIconName;    путь к иконке ярлыка приложения в формате ICO

  // dwSize==60

  LPTSTR pszSupportPath;         путь, который будет добавлен в SupportPath

  // dwSize==64

  // Build 1.0.64

  LPCSTR pszPublisher;           // E.g. Consistent Software

  DWORD dwPerUserMenu;           // Copy menu files to AppData\...

  LPCSTR pszReserved;            // Not implemented yet

  // dwSize==76

};

 

BOOL RegisterAppInPMan(const PMAN_REG_DATA *pRegData);

 

Регистрация приложения в CS Интеграторе

 


BOOL RegisterAppInPManIniEx(DWORD dwRegIndex, LPTSTR pszKey, LPTSTR pszIniFile,

                            LPTSTR pszSection, DWORD dwForceRegister);

 

Регистрация приложения в CS Интеграторе. Информация о регистрации задается секцией ini файла.

 

pszIniFile                         путь к ini файлу

pszSection                       название секции

dwForceRegister             регистрировать ли заново уже зарегистрированное приложение (BOOL)

 

Подробное описание формата секции ini файла см. в п. 3.5.3. При использовании функции RegisterAppInPManIniEx название секции может быть произвольным.

 


 

BOOL RegisterAppInPManIni(DWORD dwRegIndex, LPTSTR pszKey, LPTSTR pszIniFile);

 

Регистрация приложения в CS Интеграторе. Информация о регистрации задается секцией “\CsAcIntegrator” ini файла. Зарегистрированные приложения регистрируются заново.

 


 

BOOL UnregAppInPMan (LPTSTR pszKey, LPTSTR pszLogicalName);

 

Удаление регистрации приложения в CS Интеграторе в .

 

pszKey                            ключ AutoCAD, например “AutoCAD\\R16.0\\ACAD-201:409”

lpszLogicalName             название приложения


 

BOOL UnregAppInPManAllAcads(LPTSTR pszLogicalName);

 

Удаление регистрации приложения в CS Интеграторе во всех версиях AutoCAD.

 

lpszLogicalName             название приложения

 


 

BOOL RegisterAppInProfileEx(LPTSTR pszKey, LPTSTR lpszProfile, LPTSTR pszLogicalName, BOOL bUnregOldApps);

 

Ассоциация приложения с профилем.

 

pszKey                            ключ AutoCAD, например “AutoCAD\\R16.0\\ACAD-201:409”

lpszProfile                        название профиля

pszLogicalName              название приложения

bUnregOldApps              деассоциирвать ли ранее ассоциированные приложения


 

BOOL RegisterPManToolbarItem(LPTSTR pszKey, LPTSTR lpszProfile,

                             LPTSTR pszName, LPTSTR pszHelpString,

                             LPTSTR pszLargeIconPath, LPTSTR pszSmallIconPath);

 

pszKey                            ключ AutoCAD, например “AutoCAD\\R16.0\\ACAD-201:409”

lpszProfile                        название профиля

pszName                         название кнопки, подсказка (ToolTip)

pszHelpString                  название кнопки, строка в строке состояния

pszLargeIconPath            путь к большой (32x32) картинке кнопки в формате BMP

pszSmallIconPath            путь к маленькой (16x16) картинке кнопки в формате BMP


 

REG15_API BOOL CreateProfile(LPTSTR pszKey, LPCTSTR lpszNewProfile,

                             LPCTSTR lpszNewProfileDescription);

 

pszKey                            ключ AutoCAD, например “AutoCAD\\R16.0\\ACAD-201:409”

lpszNewProfile                название создаваемого профиля

lpszNewProfileDescription       описание создаваемого профиля

 

Функция копирует текущий профиль. Если текущий профиль не существует, копирутся первый профиль по алфавиту


 

REG15_API BOOL DeleteProfile(LPTSTR pszKey, LPCTSTR lpszProfile);

 

pszKey                            ключ AutoCAD, например “AutoCAD\\R16.0\\ACAD-201:409”

lpszProfile                        название удаляемого профиля

 

Функция удаляет указанный профиль.


 

REG15_API BOOL DeleteProfileAllAcads(LPCTSTR lpszProfile);

 

lpszProfile                        название удаляемого профиля

 

Функция удаляет указанный профиль во всех установленных верисях AutoCAD

 


 

REG15_API BOOL DeleteAppDataIniEx(LPCSTR pszIniFile, LPCSTR pszSection);

 

Удаление директории AppData данного приложения. Информация о регистрации задается секцией ini файла.

 

pszIniFile                         путь к ini файлу

pszSection                       название секции

 

Внимание, для работы функции необходимо наличие в ini файле значения Publisher (см. п. 3.5.3).

 


 

REG15_API BOOL DeleteAppDataIni(LPCSTR pszIniFile); // Use [\CsAcIntegrator] section

 

Удаление директории AppData данного приложения. Информация о регистрации задается секцией “\CsAcIntegrator” ini файла.

 

pszIniFile                         путь к ini файлу

 

3.5.        Файл Products.ini

Файл Products.ini предназначен для поиска и автоматической регистрации в CS Интеграторе старых приложений, не поддерживающих CS Интегратор.

 

Примечание: Вновь выходящие приложения должны регистрироваться в CS Интеграторе при помощи модуля CsApmReg.dll (см. п. 3.7). Кроме того, приложения должны выполнять правила совместимости с CS Интегратором (см. п. 3.1).

3.5.1.   Секция [General]

Секция содержит общие данные

 

Version                           версия файла. Если номер версии больше, чем установленной ранее, секция LoadOrder переносится в реестр.

3.5.2.   Секция [LoadOrder]

Секция содержит стандартный порядок загрузки приложений

 

LoadOrder1=My Application 1

LoadOrder2=My Application 2

3.5.3.   Секции [\Products\...]

В секциях вида [\Products\ACAD_ID\PRODUCT_NAME] содержатся данные для автоматической регистрации вновь установленных приложений.

 

Части названия секции:

ACAD_ID                      ключ AutoCAD, например “AutoCAD\R16.0”

PRODUCT_NAME       название приложения

 

Например:

[\Products\AutoCAD\R16.0\RasterDesk Pro 6.0]

 

Определение загрузочного модуля. Вариант 1:

LoaderPathRegKey         ключ реестра, в котором находится значение LoaderPathRegValue. Последовательность %ACAD_KEY% заменяется на ключ соответствующей версии AutoCAD.

LoaderPathRegValue       название значения, содержащее путь (без имени файла) к загрузочному модулю

LoaderFileSubDir            подпапка относительно LoaderPathRegValue, содержащая загрузочный модуль

LoaderFileName             имя файла загрузочного модуля

 

Например:

[\Products\AutoCAD\R16.0\RasterDesk Pro 6.0]

Description=RasterDesk Pro 6.0 (c) 2004 Consistent Software

LoaderPathRegKey=HKEY_LOCAL_MACHINE\SOFTWARE\Consistent Software\RasterDesk Pro 6.0\6.0

LoaderPathRegValue=AppPath

LoaderFileName=RasterDesk.arx

LoaderFileSubDir=AC2004 MenuGroup=RasterDesk MenuFile=%LOADER_PATH%\menu\large.mnu

 

Определение загрузочного модуля. Вариант 2:

LoaderFullPathRegKey         ключ реестра, в котором находится значение LoaderFullPathRegValue. Последовательность %ACAD_KEY% заменяется на ключ соответствующей версии AutoCAD

LoaderFullPathRegValue       название значение, содержащее полный путь к загрузочному модулю

 

Например:

[\Products\AutoCAD\R16.0\СПДС Graphics 2.5]

Description=СПДС Graphics 2.5 (c) 2003 Consistent Software

LoaderFullPathRegKey=HKEY_LOCAL_MACHINE\SOFTWARE\Consistent Software\СПДС Graphics\2.5\SPDSGraphiCS\Loader

LoaderFullPathRegValue=MODULE

 

Определение загрузочного модуля. Вариант 3. Используется, только если загрузочный модуль не определен по вариантам 1 или 2.

 

LoaderIniRelPath             Путь к загрузочному модулю относительно пути ini файла. Последовательность  %INI_PATH% заменяется на путь ini файла. Например,  %INI_PATH%\RasterDesk.arx

 

Ключи:

ProductName                  название приложения (переопределяет PRODUCT_NAME)

MenuFile                         файл меню (*.mnu), ассоциированный с данным приложением

MenuGroup                     название группы меню

Unloadable                      =1, если приложение выгружаемое

Profile                             название профиля, с которым необходимо ассоциировать приложение

KeepProfileApps             =1, не удалять уже существующие ассоциации с приложениями

Template                         шаблон AutoCAD, ассоциированный с приложением. При создании ярлыка передается в командную строку запуска AutoCAD.

Modules                          список кодированных модулей (для AutoCAD LT)

CommandGroups            список групп команд (для AutoCAD LT)

LargeIconPath                 путь к файлу в формате BMP с изображением большой (32х32) кнопки на панели инструментов. (Пока не используется. В будущем будет использоваться для автоматического заполнения одноименного поля в секции ToolbarItem см. п. 3.4)

SmallIconPath                 путь к файлу в формате BMP с изображением маленькой (16х16) кнопки на панели инструментов. (Пока не используется)

ShortcutIconPath             путь к файлу в формате ICO, который будет ассоциироваться с ярлыком при создании его при помощи перетаскивания из списка профилей.

SupportPath                    пути, которые будут добавлены в SupportPath при вызове функции RegisterAppInProfile()

Начиная с версии 1.0.64

Publisher                         название компании—автора продукта. Используется для создания директории %AppData%\Publisher\My Application

PerUserMenu                  =1, копировать меню перед первой загрузкой в %AppData%\Publisher\My Application\ACAD_KEY\MenuFile

 

Примечание. Во всех ключах, в которых используются пути, могут быть использованы макропеременные:

%ACAD_KEY%            ключ соответствующей версии AutoCAD, например, AutoCAD\R16.0\ACAD-201:409

%INI_PATH%               путь к ini файлу

%LOADER_PATH%     путь к загрузочному модулю

4.        Пошаговая инструкция

1.      Установить CS Интегратор

2.      Зарегистрировать приложение при помощи одной из функций RegisterAppInPMan (п. 3.7)

3.      Ассоциировать приложение с профилем при помощи функции RegisterAppInProfile (п. 3.7)

4.      Создать ярлык на CsAcIntegrator.exe (п.2.2.2)

5.      Запустить приложение при помощи созданного ярлыка