Search the Community
Showing results for tags 'dxdesigner'.
-
Не знаю, поможет ли это кому нибудь, или нет. Но расскажу результат, который выяснился в результате попыток установить Xpedition на один комп с виндой. Начало было многообещающим - инсталлятор сделал все без ошибок. Запустился LibraryManager. Даже ЦБ открыл. Более того, удалось сделать даже Cell. Однако, после вызова меню с "Create new Symbol" (или как-то так, дословно не помню), вылетело окошко с очень странной ошибкой "CLSIDFromProgId code is not S_OK", после чего он еще раза три-четыре чем-то ругнулся про какие то Key Bindings, и умер. Танцы и бубны (перезагрузки, переустановки, разные версии) никак и ничему не помогали. Попутно выяснилось, что, собственно, и запуск DxD приводит к тому же с той же ошибкой. Поиск в гугле по этой ошибке на дал ничего вразумительного - пара каких-то китайских страничек с советами, в которых проглядывает некий ReleaseSwitcher.exe. Понятно - не один я такой значит. Попробовал и это - нашел его, запустил, не помогло. И один подобный вопрос нашелся, оставшийся без ответа, в открытом доступе у поддержки. Пришлось вспоминать свои особые навыки по пробуриванию разных программ до самых их недр. Первым делом, раз такая ошибка, решил помониторить вызовы Windows API в части COM, и посмотреть, что же именно это за ошибка. Оказалось, что он (viewdraw.exe, он же DxD, он же редактор символов) пытается узнать CLSID для программы "Viewdraw.Appication.83" (83 - код версии для VX.2.6), и обламывается, так как такого нету. Редактор реестра подтвердил - в натуре, нету. Дальнейшие раскопки показали, что, действительно, ReleaseSwitcher.exe, запущенный с разрешением внесения изменений в систему, восстанавливает все пропадающие из реестра записи, и эту в том числе. А запуск DxD - их совершенно тупо и нагло СТИРАЕТ, вот прямо через Windows API RegDeleteKey (тоже отследил) - то есть, грубо говоря, "застреливается". Сразу! Первым делом при запуске! А потом тут же пытается найти этот ProgID, и, конечно же, безуспешно, ведь он только что стёр его сам. Очень странное поведение программы, при условии что она, вроде как, не троянская. И иного объяснения, кроме как что это "закладка" для несложного самоубийства DxD на отдельно взятой машине, я не нахожу... Залез я в редактор реестра, и посмотрел разрешения для пользователей на весь куст HKEY_CLASSES_ROOT. Увидел там, что у объектов безопасности "Все" и "Система" стоят разрешения на всё-всё-всё. "Всем" сделал только чтение, и добавил "Администраторов", которым можно всё. В итоге viewdraw.exe перестал застреливаться, ибо этот "бронежилет" оказался для него не пробиваем. DxD и редактор символов заработали. Я убил кучу своего времени. Какие разрешения должны стоять на этом кусте реестра по умолчанию в виндовс, я без понятия, и я не знаю, менял ли их тут кто-то, или нет. Но, факт, что я не первый с этой проблемой. Итого - если вдруг у кого такое будет - знайте, это DxD чистит реестр от нужных ему ключей. В нем зачем-то запрограммировано самоубийство, если у него есть достаточно доступа для этого. Поможет восстановление разделов и ключей при помощи ReleaseSwitcher.exe и, затем, изменение в regedit прав доступа к кусту HKEY_CLASSES_ROOT с целью отрубить туда доступ этому злодейскому куску программы. А я сам как работал под линуксом, так и буду. Ибо там такого не предусмотрено :)