Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: bert от 26-10-2016, 12:01:08

Название: Добавление путей к файлам инструментальных палитр и т.д.
Отправлено: bert от 26-10-2016, 12:01:08
Здравствуйте, подскажите, как добавлять программно пути в настройках автокада?
например при загрузке плагина необходимо добавлять пути в инструментальную палитру, пути к вспомогательным файлам, к доверительным местоположения и добавить в автозагрузку приложений несколько лисп-файлов
Название: Re: Добавление путей к файлам инструментальных палитр и т.д.
Отправлено: Андрей Бушман от 26-10-2016, 12:03:40
пути к вспомогательным файлам, к доверительным местоположения и добавить в автозагрузку приложений несколько лисп-файлов
Это криворукий способ. Создавай Bundle-пакет по обозначенным в официальной документации правилам и не насилуй себе мозг.
Название: Re: Добавление путей к файлам инструментальных палитр и т.д.
Отправлено: Александр Ривилис от 26-10-2016, 12:09:14
Если это нужно делать из .NET-сборки внутри AutoCAD, то смотри класс Autodesk.AutoCAD.ApplicationServices.UserConfigurationManager
Название: Re: Добавление путей к файлам инструментальных палитр и т.д.
Отправлено: Андрей Бушман от 26-10-2016, 12:17:30
к доверительным местоположения
А на этот счёт я всегда испытывал некоторые сомнения, т.к. решение о том, какие каталоги могут быть доверительными, должен принимать либо администратор CAD, либо пользователь, но не разработчик подгружаемого плагина, поскольку программное изменение этой настройки - это очередная лазейка для вредоностного ПО. ИМХО.
Название: Re: Добавление путей к файлам инструментальных палитр и т.д.
Отправлено: Максим Маркевич от 26-10-2016, 14:00:20
при загрузке плагина необходимо добавлять пути в инструментальную палитру, пути к вспомогательным файлам, к доверительным местоположения
За эти вещи отвечает файл профиля (.arg).
и добавить в автозагрузку приложений несколько лисп-файлов
А вот за это файл адаптации (.cuix).
Недавно я замышлял нечто подобное. Пришел к тому, что уже отметил Андрей Бушман:
Создавай Bundle-пакет по обозначенным в официальной документации правилам и не насилуй себе мозг.

Название: Re: Добавление путей к файлам инструментальных палитр и т.д.
Отправлено: Андрей Бушман от 26-10-2016, 14:13:02
За эти вещи отвечает файл профиля (.arg).
Под каждый плагин ARG-файлов не наделаешь. :)
Название: Re: Добавление путей к файлам инструментальных палитр и т.д.
Отправлено: Андрей Бушман от 26-10-2016, 14:14:37
А вот за это файл адаптации (.cuix).
Если вспомнить о "чемоданчике", то настройки Startup Suite так же находятся в ARG-файле.
Название: Re: Добавление путей к файлам инструментальных палитр и т.д.
Отправлено: Максим Маркевич от 26-10-2016, 23:15:50
Если вспомнить о "чемоданчике", то настройки Startup Suite так же находятся в ARG-файле.
Проверил, да, действительно так, что-то я попутал. Извиняюсь.
Название: Re: Добавление путей к файлам инструментальных палитр и т.д.
Отправлено: bert от 27-10-2016, 09:52:07
пути к вспомогательным файлам, к доверительным местоположения и добавить в автозагрузку приложений несколько лисп-файлов
Это криворукий способ. Создавай Bundle-пакет по обозначенным в официальной документации правилам и не насилуй себе мозг.


Андрей, благодарю за ответ, раньше никогда не занимался созданием "Bundle-пакетов", пробовал гуглить и наткнулся на статью, где Ваш ответ помечен в качестве решения
http://adn-cis.org/forum/index.php?topic=3331.0
Вопрос, какие могут быть преимущества скажем создания такого msi установщика по сравнению с
1) созданием своего профиля
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fs13.postimg.org%2Fbjd9bzz6r%2Fimage.jpg&hash=a561458f6e787136db44f83fed4ce386) (http://postimg.org/image/bjd9bzz6r/)
2) экспортировать данный профиль в редакторе реестра
(https://adn-cis.org/forum/proxy.php?request=http%3A%2F%2Fs22.postimg.org%2Fx7adtzuvx%2Fimage.jpg&hash=70fbfcb08bc05b59f18dafa264534bb7) (http://postimg.org/image/x7adtzuvx/)
3) запустить данный рег файл по необходимости

И можете все-таки скинуть ссылку на ветку в справке где разработчик уделяет внимание созданию Bundle-пакетов?
Название: Re: Добавление путей к файлам инструментальных палитр и т.д.
Отправлено: Андрей Бушман от 27-10-2016, 12:12:58
Цитата: bert
раньше никогда не занимался созданием "Bundle-пакетов", пробовал гуглить и наткнулся на статью
...
И можете все-таки скинуть ссылку на ветку в справке где разработчик уделяет внимание созданию Bundle-пакетов?
Поиск в справке по слову "PackageContents.xml" поможет тебе найти информацию о том, как создавать и конфигурировать BUNDLE-пакеты (я находил именно так). Только смотреть нужно англоязычную справку, т.к. русская содержит множество ошибок.

Цитата: bert
какие могут быть преимущества скажем создания такого msi установщика по сравнению с

1. В некоторых организациях админы запрещают запуск REG-файлов с правами обычного пользователя (например в той, в которой работаю я). Т.о. пользователю может не хватить прав для запуска твоего REG-файла.

2. Даже если свой профиль AutoCAD ты будешь распространять при помощи ARG-файла вместо REG-файла, то установкой и инициализацией своего профиля AutoCAD ты можешь нарушить работу др. расширений(и даже AutoCAD), т.к. в установленном тобой профиле могут отсутствовать необходимые записи для каталогов поиска ресурсов (Support File Search Path), а так же могут быть изменены и др. важные настройки, которые ранее были определены корпоративными стандартами, действующими в рамках организации: шрифты, шаблоны и т.п.

MSI - это всего лишь способ установки твоего BUDLE-пакета. Он так же может предоставлять юзеру возможность, куда именно следует устанавливать пакет (например, в одно из стандартных размещений, которые мониторит манагер пакетов). В зависимости от целевого каталога, MSI может устанавливаться как с правами админа, так и без них. Кроме того, MSI для твоего BUNDLE-пакета создаст запись в установке\удалении программ, чтобы юзер мог в будущем обновить\восстановить\удалить твой пакет привычным для него образом. Опять же, всё тот же MSI позволяет добавлять в "Пуск -> Все Программы" нужные записи для твоего пакета: справка, ссылка на каталог размещения, деинсталляция, файл лицензии и т.п.

Пример MSI, устанавливающего BUNDLE-пакет, можешь глянуть здесь: https://bitbucket.org/Andrey-Bushman/cadproxy/wiki/Home