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

ADN Club => ObjectARX => Тема начата: Sergey P от 15-01-2015, 15:59:08

Название: Установщик arx в Автокад
Отправлено: Sergey P от 15-01-2015, 15:59:08
Здравствуйте эксперты!
Извините если создал тему не в той ветке, создал в наиболее мне близкой. Пожалуйста удалите или переместите куда нужно.

По мере создания arx нужных для моей специальности их появилось некоторое количество. Например 15.
Сейчас пользователи загружают их поочередно через Сервис->Приложения->Автозагрузка.
Но на мой взгляд это не очень удобно, и я хочу создать установщик который:
1. При запуске проверяет открыт ли Автокад и если он открыт то появляется сообщение чтобы его закрыли.
2. Сканирует какие Автокад программы (их версии и виды) установлены на компьютере, чтобы чекбоксами выбрать куда добавить эти ARX
3. Скопировать мои ARX файлы в папки (не важно какие, выбранные мной или пользователем) программ.
4. и прописать пути к этим файлам в реестре.

Каким инсталлятором это можно сделать? Пробовал Inno Setup но не понял как в нем проверять наличие версий Автокад и открыты ли они.
Чем вы пользуетесь для этого, если тем же Inno Setup, может кто-нибудь скинет пример скрипта - как можно проверять наличие установленных программ и как узнать запущены ли они.

Извиняюсь если я не по теме.
Заранее спасибо.
Название: Re: Установщик arx в Автокад
Отправлено: Андрей Бушман от 15-01-2015, 16:02:22
Я управлял автозагрузкой следующим образом (http://bushman-andrey.blogspot.ru/2012/11/autocad.html).
Название: Re: Установщик arx в Автокад
Отправлено: Александр Ривилис от 15-01-2015, 16:02:40
Каким инсталлятором это можно сделать?
Сугубо моё мнение - напиши свой инсталлятор. Это не так сложно. Зато обеспечит максимальную гибкость.
Название: Re: Установщик arx в Автокад
Отправлено: Sergey P от 15-01-2015, 16:04:57
Я управлял автозагрузкой следующим образом (http://bushman-andrey.blogspot.ru/2012/11/autocad.html).
Спасибо, сейчас изучу!
Название: Re: Установщик arx в Автокад
Отправлено: Sergey P от 15-01-2015, 16:06:23
Каким инсталлятором это можно сделать?
Сугубо моё мнение - напиши свой инсталлятор. Это не так сложно. Зато обеспечит максимальную гибкость.



Я к сожалению еще не так силен в С++, изучать его начал с примеров ObjectArx.
Название: Re: Установщик arx в Автокад
Отправлено: Андрей Бушман от 15-01-2015, 16:08:32
Я к сожалению еще не так силен в С++, изучать его начал с примеров ObjectArx.
Не с того ты начал C++ изучать. Рекомендую Беарне Стровструпа "Программирование. Принципы и практика использования C++". Имхо - самый доходчивый, разжёванный материал от самого создателя C++. А инсталляторы - их можно не только на C++ создавать.
Название: Re: Установщик arx в Автокад
Отправлено: Sergey P от 15-01-2015, 16:50:41
Я к сожалению еще не так силен в С++, изучать его начал с примеров ObjectArx.
Не с того ты начал C++ изучать. Рекомендую Беарне Стровструпа "Программирование. Принципы и практика использования C++". Имхо - самый доходчивый, разжёванный материал от самого создателя C++. А инсталляторы - их можно не только на C++ создавать.


Спасибо. Почитаю. сейчас я учу по Стивен Прата
Название: Re: Установщик arx в Автокад
Отправлено: Vt от 03-02-2016, 17:35:22
Сейчас как раз установщик делаю. Увидел в примере PolySamp,  что можно подкорректировать в реестре ветку application, что бы автоматически загружался файл приложения при запуске Autocad. Можно ли подобным образом, через редактирование реестра, добавить путь к папке, что бы открывать файлы через Autocad без указания полного пути, как если бы путь был указан в путях доступа к дополнительным файлам?
Название: Re: Установщик arx в Автокад
Отправлено: Андрей Бушман от 03-02-2016, 17:58:43
Какая версия AutoCAD? Если новее 2011, то чем не устроил PackageContents.xml?
Название: Re: Установщик arx в Автокад
Отправлено: Vt от 03-02-2016, 20:00:14
Версия 2015-2016. Может быть бы и устроил, только сначала нужно разобраться что это :).
Название: Re: Установщик arx в Автокад
Отправлено: Андрей Бушман от 03-02-2016, 21:00:15
Может быть бы и устроил, только сначала нужно разобраться что это :).
В документации (желательно в английской, т.к. русская - кривая) AutoCAD 2015-2016 выполни поиск по слову "PackageContents.xml".
Название: Re: Установщик arx в Автокад
Отправлено: Александр Ривилис от 03-02-2016, 21:08:28
Можно ли подобным образом, через редактирование реестра, добавить путь к папке, что бы открывать файлы через Autocad без указания полного пути, как если бы путь был указан в путях доступа к дополнительным файлам?
Переведи. О каких файлах вообще идёт речь? И чего ты вообще добиваешься?
Название: Re: Установщик arx в Автокад
Отправлено: Андрей Бушман от 03-02-2016, 21:17:33
Переведи. О каких файлах вообще идёт речь? И чего ты вообще добиваешься?
Подозреваю что то, о чём он спрашивает, управляется атрибутом SupportPath xml-элемента RuntimeRequirements в составе конфигурационного файла PackageContents.xml.
Название: Re: Установщик arx в Автокад
Отправлено: Vt от 03-02-2016, 21:41:02
типы линий, лисп файлы например.
Название: Re: Установщик arx в Автокад
Отправлено: Vt от 03-02-2016, 22:08:03
Сейчас у меня приложение состоит из cuix файла, который приходиться загружать через _menuload. Кнопки в загружаемом меню содержат скрипты. При нажатии на любую из кнопок скрипт проверяет есть ли такая команда, если нет — загружает файлы приложения. Поэтому первоначально так же вручную в путях доступа приходиться прописывать путь к файлу приложения. Также в папке хранятся собственные типы линий. Идея такая - сделать все по человечески :) -через инсталлер. Но, одновременно, не хочеться переделывать сложившийся механизм работы приложения. Поэтому кроме загрузки приложения, хотелось бы, что бы autocad искал файлы в папке моего приложения.
Название: Re: Установщик arx в Автокад
Отправлено: Александр Ривилис от 03-02-2016, 22:22:59
Создай BUNDLE: http://help.autodesk.com/view/ACD/2016/ENU/?guid=GUID-BC76355D-682B-46ED-B9B7-66C95EEF2BD0
Название: Re: Установщик arx в Автокад
Отправлено: Vt от 03-02-2016, 23:19:01
Сделал .bundle. Панель подгружается. Теперь autocad ругается что найден исполняемый файл без цифровой подписи в недоверенном местоположении при загрузке lsp файла, при срабатывании скрипта на кнопке. Как это исправить?
Название: Re: Установщик arx в Автокад
Отправлено: Андрей Бушман от 03-02-2016, 23:25:06
Как это исправить?
Ты из каких соображений не пользуешься поиском (https://www.google.ru/search?q=AutoCAD+code+signing&ie=utf-8&oe=utf-8&gws_rd=cr&ei=B2KyVtiaOeL4yQOVt5XgCQ)?
Название: Re: Установщик arx в Автокад
Отправлено: Александр Ривилис от 03-02-2016, 23:44:17
Сделал .bundle. Панель подгружается. Теперь autocad ругается что найден исполняемый файл без цифровой подписи в недоверенном местоположении при загрузке lsp файла, при срабатывании скрипта на кнопке. Как это исправить?
AutoCAD 2016? Читай: http://adn-cis.org/acad2016-api-news.html
Делай выводы как можно исправить (альтернативные варианты):
1) Подписывать свои приложения
2) Помещать BUNDLE в %ProgramFiles%\Autodesk\ApplicationPlugins
3) Прописать каталог с BUNDLE в TRUSTEDPATHS (не забыть три точки в конце пути, так как нужно оставить доверенными и вложенные каталоги)
Название: Re: Установщик arx в Автокад
Отправлено: Debalance от 04-02-2016, 11:42:45
Сугубо моё мнение - напиши свой инсталлятор. Это не так сложно. Зато обеспечит максимальную гибкость.
Я тоже с этого начинал. На мой взгляд - путь тупиковый. Всё уже давно написано за нас, а главное отлажено и тысячу раз протестировано.
Я, например, использую NSIS (http://nsis.sourceforge.net/Main_Page). К нему есть куча плагинов (http://nsis.sourceforge.net/Category:Plugins), обеспечивающих достаточную для большинства задач гибкость.
Название: Re: Установщик arx в Автокад
Отправлено: Андрей Бушман от 04-02-2016, 14:30:24
Я, например, использую NSIS.
Спасибо за ссылку, "будем посмотреть", как говорил мой начальник курса... :)
Название: Re: Установщик arx в Автокад
Отправлено: Владимир Шу от 11-02-2016, 16:14:28
Я, например, использую NSIS. К нему есть куча плагинов, обеспечивающих достаточную для большинства задач гибкость.
Т.е. в простейшем варианте, я беру .bundle (zip) архив, в NSIS выбираю создать на основе архива и в качестве папки для установки указываю
%APPDATA%\Roaming\Autodesk\ApplicationPlugins\
И собственно все. Для какой версии и как загружать описано в PackageContents.xml
Так?
Название: Re: Установщик arx в Автокад
Отправлено: Андрей Бушман от 11-02-2016, 16:16:46
Т.е. в простейшем варианте, я беру .bundle (zip) архив, в NSIS выбираю создать на основе архива и в качестве папки для установки указываю
%APPDATA%\Roaming\Autodesk\ApplicationPlugins\
И собственно все. Для какой версии и как загружать описано в PackageContents.xml
Так?
Обозначенный тобой способ и так работает в том шаблоне инсталлятора, который по умолчанию присутствует в VS. Вряд ли для подобного уровня задачи имеет смысл дёргать NSIS (имхо).
Название: Re: Установщик arx в Автокад
Отправлено: Владимир Шу от 11-02-2016, 16:42:21
Обозначенный тобой способ и так работает в том шаблоне инсталлятора, который по умолчанию присутствует в VS. Вряд ли для подобного уровня задачи имеет смысл дёргать NSIS (имхо).
Если ты имеешь в виду InstallShield, то InstallShield Limited Edition for Visual Studio supports Visual Studio Professional, Premium and Ultimate editions. (http://learn.flexerasoftware.com/content/IS-EVAL-InstallShield-Limited-Edition-Visual-Studio)
И у меня в VS Community 2013 он хоть и присутствует в "Добавить новый проект", но при добавлении вообще ничего не происходит и ничего не добавляется.
Так что имеет смысл.
Название: Re: Установщик arx в Автокад
Отправлено: Андрей Бушман от 11-02-2016, 16:46:33
Ясно, этот момент я действительно не учёл.
Название: Re: Установщик arx в Автокад
Отправлено: Debalance от 12-02-2016, 09:30:20
Вряд ли для подобного уровня задачи имеет смысл дёргать NSIS (имхо).
Скриптовый язык NSIS весьма тривиален, так что "подёргать" его есть смысл (имхо)...
... и в качестве папки для установки указываю
%APPDATA%\Roaming\Autodesk\ApplicationPlugins\
Правильный путь будет такой: %APPDATA%\Autodesk\ApplicationPlugins\
Название: Re: Установщик arx в Автокад
Отправлено: Андрей Бушман от 12-02-2016, 11:10:45
Debalance,

Авторы цитат перепутаны тобой.
Название: Re: Установщик arx в Автокад
Отправлено: Debalance от 12-02-2016, 11:21:26
Подправил.