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

ADN Club => AutoCAD .NET API => Тема начата: Дмитрий Загорулькин от 24-09-2015, 19:00:30

Название: CUIX файл из Bundle-пакета дублируется в папку User Support. Зачем?
Отправлено: Дмитрий Загорулькин от 24-09-2015, 19:00:30
В файле PackageContents.xml Bundle-пакета можно задать подгружаемый CUIX-файл в элементе ComponentEntry. Это здорово и очень удобно, но после запуска AutoCAD создается копия этого файла в папке C:\Users\<пользователь>\AppData\Roaming\Autodesk\<продукт>\rus\Support и в дальнейшем CUIX грузится уже оттуда. Это создает как минимум 2 проблемы:
1. Если я изменяю CUIX в Bundle, чтобы эти изменения отобразились, мне нужно постоянно вручную удалять эту копию.
2. Я использую инсталлятор для установки приложения. И, получается, мне нужно будет как-то настроить в нем очистку пользовательской папки поддержки от этой копии при деинсталляции приложения. Нехорошо как-то после себя мусор оставлять.
Но мне пока неясен смысл этого копирования. Это не баг, случаем?
Название: Re: CUIX файл из Bundle-пакета дублируется в папку User Support. Зачем?
Отправлено: Андрей Бушман от 24-09-2015, 19:08:55
Я полагаю, что смысл существования переносимого профиля Windows тебе известен: за любым компом ты будешь видеть одни и те же выполненные тобой настройки (в данном случае настройки файла меню). Bundle пакеты хранятся в каталоге, общедоступном всем юзерам (в подкаталогах %ProgramData%). Т.о. насколько я понимаю, там хранится своего рода базовый шаблон меню, котоый подхватывается юзерами в их переносимые профили при первом запуске плагина. Затем, редактируя меню в своём профиле, они настраивают его каждый под себя. Если бы грузилось меню из %ProgramData%, то все юзеры получали бы одно и то же, не имея возможности конфигурировать под себя  индивидуально.

Я полагаю, что задумка именно такая. Возможно (не проверял), что это поведение (копирование) можно как-то и отключить в настройках пакета (хотя это мне кажется нецелесообразным)...
Название: Re: CUIX файл из Bundle-пакета дублируется в папку User Support. Зачем?
Отправлено: Александр Ривилис от 24-09-2015, 19:14:26
Андрей Бушман
Fenton Webb это подтверждает: http://forums.autodesk.com/t5/net/packagecontents-xml-update-from-2013-to-2014/td-p/3872842/
Название: Re: CUIX файл из Bundle-пакета дублируется в папку User Support. Зачем?
Отправлено: Дмитрий Загорулькин от 24-09-2015, 19:17:26
Хм. Сейчас попробовал поместить Bundle не в ProgrammData, а в C:\Users\<User>\AppData\Roaming\Autodesk\ApplicationPlugins. Поведение то же самое...
Название: Re: CUIX файл из Bundle-пакета дублируется в папку User Support. Зачем?
Отправлено: Андрей Бушман от 24-09-2015, 19:19:38
Хм. Сейчас попробовал поместить Bundle не в ProgrammData, а в C:\Users\<User>\AppData\Roaming\Autodesk\ApplicationPlugins. Поведение то же самое...
Возможно это на тот случай, если ты "насмерть запорешь" скопированный файл меню - всегда можешь удалить его и повторно скопировать оригинал (так сказать, "поднять из бэкапа" :) ). Во всяком случае такая логика вполне имеет право на жизнь (имхо).
Название: Re: CUIX файл из Bundle-пакета дублируется в папку User Support. Зачем?
Отправлено: Doublefish от 25-09-2015, 12:02:17
Тут есть ещё один нюанс, что то мне помнится если обновить cuix в плагине, открыть автокад, то на экране изменений можно и не увидеть. Если закрыть автокад и открыть снова то изменения отобразяться и файл в папке Support изменится.

Меня данная ситуация с тем, что cuix на самом деле из папки Support  отображается, а не из папки плагина -  тоже напрягло.