среда, 8 апреля 2015 г.

Немного о качестве accoreconsole.exe

Как говорится, страна должна знать своих героев... В данном контексте речь пойдёт о багах, с которыми предстоит столкнуться пользователям утилиты accoreconsole.exe. Ранее я уже писал об этом инструменте здесь. За четыре года уж точно можно было бы выявить очевидные ляпы и исправить их. Однако "можно было бы", не означает, что это "было сделано" в реальности.


Все мы прекрасно помним, что издавна, при запуске acad.exe с ключом /p и указанием нужного профиля, этот профиль, ежели он хранится в ARG-файле, импортируется в реестр и устанавливается текущим. Видимо это было скучно и Autodesk решил разнообразить наши серые будни...

Когда я запускаю accoreconsole.exe для AutoCAD 2015 и 2016 с ключом /p, указывающим нужный профиль, хранящийся в ARG-файле, то в последствии, по завершении сеанса accoreconsole и запуская acad.exe этих версий вижу этот профиль в диалоговом окне на вкладке Options (он же установлен и текущим). Это поведение аналогично тому, которое присутствовало в старых версиях AutoCAD, когда accoreconsole.exe ещё и в помине не было. Идём дальше...

Для AutoCAD 2013 и 2014 в диалоговом окне Options в аналогичной ситуации новый профиль не появляется. 

В AutoCAD 2013 после работы accoreconsole.exe я вижу наличие ветки:
HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R19.0\CoreUser\ran\Profiles\
в которой присутствует только запись <<Unnamed Profile>>
Мой профиль не появился.

Подобная картина в AutoCAD 2013 наблюдается и с веткой
HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R19.0\ACAD-B001:409\Profiles
там так же присутствует только запись <<Unnamed Profile>>, а профиль, подключаемый мною через ключ /p не появился.

Т.е. при использовании accoreconsole.exe в AutoCAD 2013 указанный мною при помощи ключа /p профиль, подгружаемый из ARG-файла, не сохранился в реестре нигде, насколько я вижу.

АutoCAD 2014 так же не содержит информации о подключавшемся профиле в своей ветке
HKEY_CURRENT_USER\Software\Autodesk\AutoCAD\R19.1\ACAD-D001:409\Profiles
присутствует только <<Unnamed Profile>>, как и в AutoCAD 2013.

Во всех др. версиях AutoCAD, отличных от 2013-го, аналогичная подветка CoreUser\ran\Profiles\ вовсе отсутствует и не появляется в т.ч. и после работы accoreconsole.exe.

Т.о. налицо поведение "кто в лес, кто по дрова".

Не будем останавливаться на "достигнутом", пойдём дальше...

AutoCAD 2013-2015 SP1 x64 Enu.


Если консольное окно accoreconsole.exe закрывать путём нажатия соответствующей кнопки в верхнем правом углу консольного приложения, то значение системной переменной FILEDIA, изменённое обозначенной утилитой в ходе своей работы, остаётся равным 0. Т.е. если в дальнейшем запустить acad.exe, то это соответствующим образом отражается на его работе. Но ежели закрывать консольное окно командами _.quit или _.exit, то такая проблема не наблюдается.

Компания Autodesk порекомендовала (не утруждая себя проверкой работоспособности обозначенной рекомендации):  для того, чтобы не портилась системная переменная FILEDIA в AutoCAD (как и другие системные переменные), нужно использовать ключ запуска /isolate <userid>, где userid - произвольное имя.

Однако, как показала практика, не работает и обозначенное выше решение с /isolate:

Autodesk: В DevHelp подтвердили некорректность работы /isolate с AutoCAD 2015 SP2 и 2016 и передали команде инженеров для анализа.

Про более ранние версии видимо постеснялись написать...

Идём далее...

AutoCAD 2013-2015 x64 Enu

Запускаем accoreconsole.exe и загружаем в него некоторую сборку. Смотрим первый скрин.



Меняем ширину консольного окошка (смотрим второй скрин) и перезапускаем accoreconsole.



Снова загружаем ту же самую сборку. Смотрим третий скрин - для 2015-го и 4-й скрин - для 2013-го. 



Как видим, после изменении ширины консольного окна, мусора стало меньше. При этом в 2013-м он вообще исчез - корректно выводит информацию, в то время как 2015-й дублирует каждую строку:



Autodesk: Замечание приняли и передали в работу Eng Team.

Печальная практика показывает, что зачастую это - стандартная отписка. Многие пользователи хорошо помнят о баге с переключением раскладки клавиатуры при помощи Shift + Alt. Для тех, кто переключает раскладку иным способом - почитать о данном баге можно здесь. Кстати, этот баг, как и многие другие, не устранён до сих пор! Кстати, до сих пор (т.е. и в AutoCAD 2016) присутствует баг, о котором я когда-то писал здесь. Причём второй из них исправляется всего парой строчек кода... Если даже такие простые (но важные) исправления Autodesk не удосуживается делать, то что можно говорить о чём-то более серьёзном?

Все обозначенные выше баги выявляются первым же запуском accoreconsole.exe. Компания Autodesk не тестирует своё программное обеспечение: откомпилировалось, значит можно отправлять на продажу, а юзерам, столкнувшимся с багами, нужно рекомендовать покупку "более новой версии", в которой может быть что-то будет исправлено.

То, что подобным качеством ПО они позорят себя, в компании Autodesk, к сожалению, себя не "грузят", т.к. практика показывает, что главное для них (как и для многих др. современных компаний) - продать (т.е. втюхать), а думать о качестве - это не современно. Покупатели ПО попутно являются и бесплатными тестерами - чем не отличное решение? А то, что они не только тестируют, но и платят деньги за это ПО - так это и вдвойне хорошо: иметь бесплатных тестеров, которые к тому же ещё и немалые деньги платят компании, чей софт тестируют - мечта любой "современной" компании. Потом можно выборочно устранять пару багов (пофиг, что попутно добавится ещё пара-тройка) и попутно прикрутить пару бантиков, вроде глянцевых кнопочек, после чего можно презентовать новую версию... Неплохо устроились ребята... Чувство совести, похоже, им не ведомо к сожалению (имхо).

Комментариев нет: