|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
Добавление приложений в изначально пустой startup suite внешними средствами
Programming, automation, CADs, GISs. "Теплоком"
Россия, Санкт-Петербург
Регистрация: 02.02.2007
Сообщений: 306
|
||
Просмотров: 8961
|
|
||||
Регистрация: 19.03.2004
Калининград
Сообщений: 1,842
|
www.autocad.ru - теперь называется www.caduser.ru
Наверное стоит посмотреть вот это http://www.caduser.ru/forum/index.ph...#message108543 |
|||
![]() |
|
||||
Programming, automation, CADs, GISs. "Теплоком" Регистрация: 02.02.2007
Россия, Санкт-Петербург
Сообщений: 306
|
Спасибо, KSI, посмотрел.
Идея клевая, но (для моего случая): такой вариант не избавляет от "возни" с кадом и файлами - списками приложений. А я хочу сделать что-то типа установки, для пользователя очень напоминиющей виндовую: запустил установку - и спокойно продолжаешь заниматься своими делами. Как только пользователь запустит кад, у него все приложения уже будут установлены. Собственно косяк-то весь вот в этой непонятной инициализации, когда изначально startup suite был пуст.
__________________
На LISPе можно мыслить! |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Объясни, как это работает. Под своим приложением, что подразумевается. На каком языке программирования.
|
|||
![]() |
|
||||
Programming, automation, CADs, GISs. "Теплоком" Регистрация: 02.02.2007
Россия, Санкт-Петербург
Сообщений: 306
|
Код программы установки (AutoIT):
Код:
Программа запускается из директории, содержащей программу или систему программ (пока только .lsp). Название директории считается общим названием программы/системы программ. Главный .lsp-файл (часто единственный) должен иметь такое же название. Далее она просматривает реестр на предмет наличия веток автокадов (любых версий), просматривает все профили и во все профили в разделы реестра HKEY_CURRENT_USER\Software\AutoDesk\AutoCAD\<код версии>\<шифр версии>\Profiles\Dialogs\Appload\StartUp добавляет новый (или перезаписывает, если уже есть такой параметр для устанавливаемого приложения) параметр, значением которого является полный адрес главного файла программы. Имя добавляемого параметра соответствует правилам, используемым AutoCAD'ом, то есть <номер параметра>Startup. Ну и, ес-но, пересчитывает значение параметра NumStartup. Такая вот бесхитростная программка. ЗюЫю Еще раз поясню, что все это хозяйство безупречно работает, когда на момент установки startup suite был не пуст. {2010.08.04 18:18} Нашел решение. Regshot выручил. Надо было еще дополнительно в реестр прописывать: Код:
Исправленный код установщика, если интересно (AutoIT, подробнее про AutoIT см. http://www.autoitscript.com/autoit3/index.shtml): Код:
__________________
На LISPе можно мыслить! Последний раз редактировалось Ax3, 04.08.2010 в 18:38. |
|||
![]() |
|
||||
AutoCAD Регистрация: 26.07.2007
Москва
Сообщений: 1,064
|
Дошло, в ветке HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R17.1\ ACAD-6001:409\Profiles\<название профиля>\Dialogs\Appload\Startup\
прописываются файлы в списке автозагрузки (чемоданчик в appload). А ты решил обхитрить акад, сразу в реестр прописать свой файл. Попробовал у себя, все работает, и при пустом чемоданчике, только по записи из реестра выполняется загрузка. Может, ты в момент загрузки твоего файла выполняешь недопустимую операцию, приведи код из файла. Опс, дописку неувидел. А ты полиглот. Уже успел regshot заюзать. ) |
|||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Программисту работать со startup suite? Да этот "чемоданчик" - сумочка для "блондинок", чтобы складывать туда всякий хлам. Он предназначен для простых пользователей.
А нормальная программа не требует никаких "чемоданчиков". Сделать её самозагружаемой гораздо проще, чем вписывать в startup suite через реестр. |
|||
![]() |
|
||||
Цитата:
По теме - способов реализации автозагрузки плагинов несколько: 1. Через тот же реестр, правда не через ту ветку, которую использовал автор, а через другую (юзать реестр для этих целей мне не нравится). 2. Написать плагин, который будет как "тяговая лошадка" загружать все остальные, согласно настройкам, указанном в некотором текстовом файле (например xml-формата). Один из вариантов такого способа я закинул сюда. 3. Выполнять загрузку плагинов с помощью автоматически загружаемых lsp-файлов (как правило - Acad.lsp, AcadDoc.lsp и т.п.) - пример здесь.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,406
|
hwd, черный текст на темно-сером фоне почти не виден
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Подправил цвет (изначально сайт имел др. фон).
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
А тут обсуждают конкретно startup suite. Этот "прибамбас" сделан специально для "конечных" пользователей, которые откуда-то притащили программку. Которую надо загружать. И они не умеют, не знают, и не хотят знать, как это сделать "прописыванием". Вот им и помогает этот "чемодан", куда интерактивно можно чего-то набросать. Пока сами не начнут путаться уже в этих сокровищах. И обсуждать способы чесания уха ногой мне неинтересно. А нормальная программа: 1. Устанавливается инсталлятором. 2. Запускается без требования администраторских прав. 3. Работает без присутствия автора и на любом компьютере. 4. Пишет "куда положено", а не куда "нравится" автору. 5. Все это - с учетом требований ОС (XP, Vista, Win7) по размещению программ и данных. 6. Все это - с учетом требований AutoCAD - профили, пути и прочее. 7. Все это - с учетом возможностей конкретной среды разработки. |
|||
![]() |
|
||||
Цитата:
Этого не понял (если речь идёт применительно к AutoCAD). Какими критериями выявляется "положенность"? Имхо - нужно определиться, на что идёт ориентир - на работу отдельного пользователя, или на групповую работу с возможностью управления общими настройками сразу всех юзеров. Возможности групповой работы в AutoCAD реализованы через зад (имхо). Любому автору, однозначно, будет "нравиться" такой вариант, который позволит ему разом управлять тем, что должно/не должно загружаться в AutoCAD всех пользователей сразу (или их определённых групп). Выполнять эту настройку на каждом локальном компьютере - решение не верное... Все локальные машины должны самостоятельно лезть в определённое (единое для всех) место в сети, откуда считываются настройки. Т.о. изменив настройки в одном файле - разом меняются настройки для всех юзеров. Т.е. слепо ориентироваться на то, что "нравится" AutoCAD (или ещё кому-то) - может быть не верным решением. Хотя возможно, что ShaggyDoc имел в виду что-то другое... Я ориентируюсь именно на групповую работу. Этого тоже не понял - как-то туманно звучит... Прошу пояснить, если не затруднит. Локальные настройки юзера лучше хранить в изолированном хранилище профиля, а общие - в сети (имхо). Про "пути и прочее", а так же про IDE - не понял вовсе.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
|||||
Thượng Tá Quân Đội Nhân Dân Việt Nam Регистрация: 14.03.2005
44d32'44"С, 33d26'51"В
Сообщений: 13,372
|
Цитата:
А AutoCAD, начиная с 2004, "нравится" работать правильно. Достаточно посмотреть на организацию его собственных данных. Цитата:
А вот во многих других, даже солидных программах, такого нет и таких возможностей катастрофически не хватает. Этим преимуществами AutoCAD надо умело пользоваться. Например, динамически создавать acaddoc.lsp с загрузкой всех необходимых приложений и их библиотек. Цитата:
Цитата:
А вот в LISP, например, нет возможности загрузить и использовать обычную DLL (не COM). Хотя хотелось бы. Но это приходится также учитывать. |
||||
![]() |
|
||||
Programming, automation, CADs, GISs. "Теплоком" Регистрация: 02.02.2007
Россия, Санкт-Петербург
Сообщений: 306
|
Смысл того, что я работаю с этим чемоданчиком для блондинок, заключается именно в том, что пользователь должен иметь возможность в любой момент отключить мои надстройки, чтобы, к примеру, проверить, как чертеж поведет себя во внешнем мире. А как вы понимаете, пользователю проще сделать это из startup suite, чем вызывать меня каждый раз или звонить и просить "отключить эту хрень на пару часов".
Нормальный инсталлятор, прописывающий приложение в ветку ...\Applications, делать достаточно проблематично, поскольку я не очень в теме, да и пользователю, опять же - неудобно делать деинсталляцию каждый раз, когда надо поработать в голом каде. А так у них у всех по умолчанию мои надстройки включены, надо отключить - они знают куда лезть, перед отключением запоминают недлинный путь к файлу и после сеанса работы в голом каде снова возвращают на место надстройки. Плюс startup suite связан с профилем пользователя - есть вполне очевидные моменты, когда это удобнее, чем прописывать приложение в автозагрузку када независимо от профиля. appload.arx, занимающийся в том числе обработкой startup suite - вполне себе нормальная программа, ничего в ней такого недостойного я не вижу. Кстати, я тут еще момент обнаружил. Если _appload ни разу в жизни када не запускалась (как частные случаи: кад либо только что установлен, либо впервые запущен в новой учетной записи), то менеджер загрузки appload.arx ваще не работает. На этот случай надо ветку ...\Applications\AcadAppload целиком определить: Код:
Код:
__________________
На LISPе можно мыслить! Последний раз редактировалось Ax3, 06.08.2010 в 17:51. |
|||
![]() |
|
||||
Цитата:
Цитата:
Ужас... А зачем выполнять деинсталляцию плагина, чтобы поработать в "голом" акаде? Может вы ещё и акад будете каждый раз сносить? Почитайте о профилях автокада (arg-файлах) и разберитесь для чего они нужны/как работают, дабы не чесать ухо ногой из-за спины. Создаёте два ярлыка, завязанных на разные arg-файлы и свободно работаете в том режиме, который вам нужен в конкретный момент.
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Programming, automation, CADs, GISs. "Теплоком" Регистрация: 02.02.2007
Россия, Санкт-Петербург
Сообщений: 306
|
Не думаю, что такая характеристика данной задачи уместна.
А вот писать свой менеджер автозагрузки с оконным интерфейсом только ради того, чтобы не использовать стандартные кадовские средства, по-вашему, мудро? Про использование профилей я знаю достаточно, см. выше "startup suite связан с профилем пользователя". Этим я как раз и пользуюсь Перегружать пользователя кнопками тоже лишний раз не хочется, если есть готовые кадовские средства, о которых они все знают.
__________________
На LISPе можно мыслить! Последний раз редактировалось Ax3, 06.08.2010 в 18:06. |
|||
![]() |
|
||||
Я не ShaggyDoc - подправьте автора цитаты.
"Делать деинсталляцию каждый раз, когда надо поработать в голом каде" (с) - это именно так и называется. Цитата:
![]() Видимо недостаточно, иначе не было бы этого: Цитата:
![]() Цитата:
__________________
Надеюсь, ты не социальный овощ? Это определяется делами! :welcome: |
||||
![]() |
|
||||
Programming, automation, CADs, GISs. "Теплоком" Регистрация: 02.02.2007
Россия, Санкт-Петербург
Сообщений: 306
|
Ну хорошо. Если по существу, какие минусы использования startup suite кроме того, что им пользоваться несолидно?
Пользователи, с которыми я работаю, не отличаются стремлением пихать в него всякий мусор. Еще раз поясню, что я стремлюсь решать задачи с минимумом отклонений от стандартных кадовских средств. Полагаю, пользователям так удобнее, особенно в условиях, когда им и так приходится пользоваться большим набором панелей, кнопок и прочего добра. >>hwd, ShaggyDog Друзья, только по существу, без пафоса, плз. Здесь вроде не соревнование, кто умнее.
__________________
На LISPе можно мыслить! Последний раз редактировалось Ax3, 06.08.2010 в 21:38. |
|||
![]() |