CUIX файл из Bundle-пакета дублируется в папку User Support. Зачем?

Автор Тема: CUIX файл из Bundle-пакета дублируется в папку User Support. Зачем?  (Прочитано 4753 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
В файле PackageContents.xml Bundle-пакета можно задать подгружаемый CUIX-файл в элементе ComponentEntry. Это здорово и очень удобно, но после запуска AutoCAD создается копия этого файла в папке C:\Users\<пользователь>\AppData\Roaming\Autodesk\<продукт>\rus\Support и в дальнейшем CUIX грузится уже оттуда. Это создает как минимум 2 проблемы:
1. Если я изменяю CUIX в Bundle, чтобы эти изменения отобразились, мне нужно постоянно вручную удалять эту копию.
2. Я использую инсталлятор для установки приложения. И, получается, мне нужно будет как-то настроить в нем очистку пользовательской папки поддержки от этой копии при деинсталляции приложения. Нехорошо как-то после себя мусор оставлять.
Но мне пока неясен смысл этого копирования. Это не баг, случаем?

Отмечено как Решение Дмитрий Загорулькин 24-09-2015, 20:08:45

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Я полагаю, что смысл существования переносимого профиля Windows тебе известен: за любым компом ты будешь видеть одни и те же выполненные тобой настройки (в данном случае настройки файла меню). Bundle пакеты хранятся в каталоге, общедоступном всем юзерам (в подкаталогах %ProgramData%). Т.о. насколько я понимаю, там хранится своего рода базовый шаблон меню, котоый подхватывается юзерами в их переносимые профили при первом запуске плагина. Затем, редактируя меню в своём профиле, они настраивают его каждый под себя. Если бы грузилось меню из %ProgramData%, то все юзеры получали бы одно и то же, не имея возможности конфигурировать под себя  индивидуально.

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

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13829
  • Карма: 1784
  • Рыцарь ObjectARX
  • Skype: rivilis
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн Дмитрий ЗагорулькинАвтор темы

  • ADN
  • *
  • Сообщений: 2531
  • Карма: 735
Хм. Сейчас попробовал поместить Bundle не в ProgrammData, а в C:\Users\<User>\AppData\Roaming\Autodesk\ApplicationPlugins. Поведение то же самое...

Оффлайн Андрей Бушман

  • ADN Club
  • *****
  • Сообщений: 2000
  • Карма: 163
  • Пишу программки...
    • Блог
  • Skype: Compositum78
Хм. Сейчас попробовал поместить Bundle не в ProgrammData, а в C:\Users\<User>\AppData\Roaming\Autodesk\ApplicationPlugins. Поведение то же самое...
Возможно это на тот случай, если ты "насмерть запорешь" скопированный файл меню - всегда можешь удалить его и повторно скопировать оригинал (так сказать, "поднять из бэкапа" :) ). Во всяком случае такая логика вполне имеет право на жизнь (имхо).

Оффлайн Doublefish

  • ADN Club
  • ****
  • Сообщений: 288
  • Карма: 10
  • AutoCAD Civil 3D
Тут есть ещё один нюанс, что то мне помнится если обновить cuix в плагине, открыть автокад, то на экране изменений можно и не увидеть. Если закрыть автокад и открыть снова то изменения отобразяться и файл в папке Support изменится.

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