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

ADN Club => AutoCAD .NET API => Тема начата: Андрей Бушман от 23-07-2014, 12:41:16

Название: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Андрей Бушман от 23-07-2014, 12:41:16
В Windows 7 Bundle пакеты могут быть размещены в одном из следующих каталогов:
В Windows XP %ProgramData% по умолчанию отсутствует. Т.е. в XP второй вариант отсутствует, или же Autodesk создаёт его? Если создаёт, то какие в этом случае назначает права доступа пользователям? Например в 7-ке этот каталог обычным пользователям доступен как для чтения, так и для редактирования.

P.S. У меня нет под рукой Windows XP с установленным на неё AutoCAD новее, чем 2009-й, поэтому сам проверить не имею возможности.
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Александр Ривилис от 23-07-2014, 14:47:05
В Windows XP %ProgramData% по умолчанию отсутствует. Т.е. в XP второй вариант отсутствует, или же Autodesk создаёт его?
Создает. Думаю что права для чтения/записи для обычного пользователя есть, если админ специально не ограничит.

P.S.: Проверил у себя в XP - вроде (кроме создателя-владельца) у обычных пользователей в эту папку доступ только по чтению.
P.S.S.: Проверил и в W7 - тоже доступ только для чтения у обычных пользователей.
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Андрей Бушман от 23-07-2014, 15:01:24
У себя я тоже вижу права только на "чтение и выполнение", но по факту и запись доступна - создаю файлы и подкаталоги (см. вложенный файл). Проверял из под разных учётных записей (не администраторов).

Проверьте пожалуйста у себя - можете просто попытаться там каталог или файл новый создать. Я не понял, почему каталог доступен у меня для записи, хотя в свойствах галочка для изменения не установлена.
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Александр Ривилис от 23-07-2014, 15:10:43
В особых разрешениях нашел еще создание файлов и папок. Главное, что одинаково и в XP и W7.
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Андрей Бушман от 23-07-2014, 15:19:57
В особых разрешениях нашел еще создание файлов и папок. Главное, что одинаково и в XP и W7.
Да, но я там не вижу разрешение на удаление, а оно так же проходит...
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Андрей Бушман от 23-07-2014, 15:33:28
Меня несколько напрягает тот факт, что любой пользователь может закинуть в %ProgramData%\Autodesk\ApplicationPlugins (вместо своего %APPDATA%\Autodesk\ApplicationPlugins) произвольный мусор и тот будет грузиться всем локальным пользователям.

Можно ли как-то включать\отключать обработку каталога %ProgramData%\Autodesk\ApplicationPlugins менеджером Bundle пакетов? Аналогичный вопрос интересен и для %APPDATA%\Autodesk\ApplicationPlugins. Иными словами - чтобы грузилось только то, что администратор разрешил, а именно - содержимое %ProgramFiles%\Autodesk\ApplicationPlugins.
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Александр Ривилис от 23-07-2014, 15:44:24
Иными словами - чтобы грузилось только то, что администратор разрешил
Простейший способ - администратору поменять права на %ProgramData%\Autodesk\ApplicationPlugins и %APPDATA%\Autodesk\ApplicationPlugins.
Другого способа быть не может, т.к. именно эти три каталога специально созданы для загрузки приложений.
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Андрей Бушман от 23-07-2014, 15:50:03
Простейший способ - администратору поменять права на %ProgramData%\Autodesk\ApplicationPlugins и %APPDATA%\Autodesk\ApplicationPlugins.
Ну, не то чтобы "простейший"...

Другого способа быть не может, т.к. именно эти три каталога специально созданы для загрузки приложений.
"Быть не может", если это не предусмотрено в конфигурационных настройках менеджера Bundle пакетов и жёстко прописано в коде, а не в конфиг-файле (что не есть гуд).

Вот я, собственно, и спрашиваю: какая надстройка (dll\arx файл) является этим самым менеджером пакетов и как называется его конфиг (может в настройках чего увижу)?
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Александр Ривилис от 23-07-2014, 16:36:09
Вот я, собственно, и спрашиваю: какая надстройка (dll\arx файл) является этим самым менеджером пакетов
AcAutoLoader.arx
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Андрей Бушман от 23-07-2014, 17:04:34
AcAutoLoader.arx
конфиг для него не нашёл (искал с похожим именем). Либо не нашёл, либо зашито в коде.
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Александр Ривилис от 23-07-2014, 18:46:54
Конфига для него нет. Это вообще-то "native" а не "managed" приложение, так что расчитывать на конфиг не следовало бы.
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Александр Ривилис от 23-07-2014, 18:56:59
P.S.: Судя по этому (http://adndevblog.typepad.com/autocad/2013/01/autodesk-autoloader-white-paper.html) каталог %ProgramFiles%\Autodesk\ApplicationPlugins использовался только в AutoCAD 2012, а начиная с 2013 используется %ProgramData%\Autodesk\ApplicationPlugins
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Андрей Бушман от 23-07-2014, 22:01:37
Конфига для него нет. Это вообще-то "native" а не "managed" приложение, так что расчитывать на конфиг не следовало бы.
Существует ряд общепризнанных "заповедей", которые соблюдаются в любом языке программирования, а не только в "managed". Одна из них: никогда не прописывать жёстко в коде конфигурационные данные, но всегда выносить их во внешний файл, дабы не пришлось перекомпилировать код каждый раз, как потребуется править эти настройки. Кстати, если верить сотрудникам Майкрософт, у них за такое даже увольняют (и правильно делают). Странно, что подобные вещи приходится объяснять, мне казалось, что они очевидны всем...

Обозначенный мною аспект так же совершенно логично было бы вынести за рамки кода.

P.S. под "конфигом" я подразумеваю не обязательно файл с расширением config, но любой файл, хранящий в себе настройки, вынесенные за рамки кода и в случае необходимости подлежащие редактированию (по усмотрению пользователя или администратора).
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Александр Ривилис от 23-07-2014, 22:08:21
Это не отдельное независимое приложение, а часть AutoCAD. Так что конфигурируется она по правилам AutoCAD. Максимум что можно сделать, это настроить системную переменную APPAUTOLOAD (http://exchange.autodesk.com/autocad/enu/online-help/ACD/2012/ENU/pages/WS73099cc142f487555f687a1012bf24b54f2-7c96.htm)
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Андрей Бушман от 23-07-2014, 22:09:48
P.S.: Судя по этому каталог %ProgramFiles%\Autodesk\ApplicationPlugins использовался только в AutoCAD 2012, а начиная с 2013 используется %ProgramData%\Autodesk\ApplicationPlugins
Помнится в 2012-м (если мне не изменяет память) была проблема с Bundle - нельзя было отключить пакет от автозагрузки. Т.е. в конфиг-файле можно было указать, мол "не загружай", но загрузчик всё равно грузил. В качестве решения тогда ADN советовал мне в case переименовывать каталог расширения, убирая из него суффикс ".Bundle". Сейчас "воз и ныне там" или починили? Проверить не могу, т.к. под рукой только 2009-й.
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Андрей Бушман от 23-07-2014, 22:14:31
Это не отдельное независимое приложение, а часть AutoCAD.
Стоп. Я и не утверждал, что это самостоятельное приложение. Насколько я вижу, это обычное расширение, которое включено в состав "базовой версии AutoCAD" и теперь является его частью, но суть-то та же: оно работает как обычное расширение, регистрируемое через реестр сразу для всех юзеров. Когда мы пишем расширения, то как правило, каждое из них имеет свои конфигурационные настройки. Я не исключаю, что настройки автокадовского загрузчика так же существуют, но не в виде самостоятельного конфига, а как часть какого-то более общего конфиг файла. Хотя очень даже не удивлюсь, если это не так и настройки действительно жёстко зашиты в коде.
Название: Re: Windows XP и каталог %ProgramData%\Autodesk\ApplicationPlugins
Отправлено: Александр Ривилис от 23-07-2014, 22:21:59
1.
Когда мы пишем расширения
2.
включено в состав "базовой версии AutoCAD"
Вот между пунктами 1. и 2. вся разница. Отдельное расширение к AutoCAD и часть самого AutoCAD. Кстати при желании они могли включить его в состав acad.exe, но так сложилось исторически. Более того, нигде в документации не указано, что именно этот arx-модуль занимается автозагрузкой. Тебе дана модель поведения AutoCAD и как создавать .bundle и это всё. Как оно реализовано внутри ты можешь раскапывать сам или спрашивать в Autodesk. :)