ПИР 3.87.1 GoldParserForNet.Parser и ограниченный пользовате
|
|
Янгертан | Дата: Четверг, 08.12.2016, 10:36 | Сообщение # 1 |
Рядовой
Группа: Проверенные
Сообщений: 8
Репутация: 4
Статус: Оффлайн
| Компонента GoldParserForNet.Parser зарегистрирована под пользователем ОС с правами администратора, под этим пользователем она корректно отрабатывает, преобразуя запрос в дерево. При попытке преобразовать запрос в дерево под пользователем ОС без прав администратора, возникает ошибка:
Код Microsoft .NET Framework Assembly Registration Utility 4.0.30319.34209 для Microsoft .NET Framework 4.0.30319.34209<br / <img src="/.s/sm/1/angry.gif" border="0" align="absmiddle" alt="angry" /> C) Корпорация Майкрософт (Microsoft Corporation). Все права защищены.
RegAsm : error RA0000 : При записи регистрационной информации в реестр произошла ошибка. Для использования выбранных параметров требуются права администратора. Воспользуйтесь командной строкой администрирования для завершения этих задач.
Не удалось зарегистривать COM-Net-компоненту GoldParserForNet.Parser. Запустите приложение от имени администратора
При этом, если зайти под обычным пользователем ОС, то в окне регистрации компоненты она отмечена, как не зарегистрированная, а под пользователем ОС с админ правами обработка регистрации компонент говорит, что она зарегистрирована.
Пытаемся выполнить эту операцию в терминале, работающем под управлением Windows Server 2012 R2 Standart
Есть какая-то возможность обойти это ограничение?
P.S. И есть еще одно ограничение у нового парсера, он не совместим с ОС Windows XP. Можете выложить версию подсистемы, в которой использовалась старая версия парсера?
Сообщение отредактировал Янгертан - Четверг, 08.12.2016, 10:40 |
|
| |
tormozit | Дата: Четверг, 08.12.2016, 22:47 | Сообщение # 2 |
Генералиссимус
Группа: Администраторы
Сообщений: 6392
Репутация: 165
Статус: Оффлайн
| 1. Новый парсер GoldParserEngine и программный код, на него опирающийся, стали уже несовместимыми со старым парсером GoldParserEngine. К сожалению действительно пришлось пойти на потерю совместимости парсера с Windows XP, на котором .Net Framework 4.5 не поддерживается. Шансы на реализацию нового парсера на .Net Framework 4 моими силами очень маленькие. Но исходники опубликованы, так что возможно кто то другой переделает проект на .Net Framework 4
2. По проблеме с регистрацией Net компоненты GoldParserEngine. Выполнялась ли административная регистрация компонент по инструкции http://devtool1c.ucoz.ru/index/ustanovka_i_obnovlenie/0-7 ? Где расположен файл компоненты? Имеет ли к этому файлу доступ пользователь испытывающий проблему?
|
|
| |
Янгертан | Дата: Пятница, 09.12.2016, 16:30 | Сообщение # 3 |
Рядовой
Группа: Проверенные
Сообщений: 8
Репутация: 4
Статус: Оффлайн
| 1. Не обязательно портировать актуальную версию компоненты. Мне было бы достаточно иметь возможность скачать старую версию инструментов, которые совместимы с WindowsXP. К сожалению я у себя не хранил все версии инструментов.
2. Если речь идет об инструкции: Цитата Если текущий пользователь ОС не является администратором или запуск приложения выполнен с контролем учетных записей (User acccount control), то для работы некоторых функций инструментов требуется зарегистрировать в ОС ряд COM компонент с помощью повышенных привилегий. Для этого необходимо запустить предприятие от имени администратора (run as administrator) и командой "Регистрация COM компонент (ИР)" открыть форму регистрации и нажать там Выполнить. То наши действия были аналогичными. Единственное отличие в том, что 1С мы запускали через кнопку запуска под администратором, которая находится на панели обработки "Регистрация COM компонент". Компоненты лежат в каталоге "C:\Program Files (x86)\1cv8\common". Доступ на просмотр этого каталога у пользователя точно есть, а вот на чтение самой компоненты права отсутствовали. Попробуем выдать права на сам файл, о результатах отпишусь.
|
|
| |
tormozit | Дата: Пятница, 09.12.2016, 23:12 | Сообщение # 4 |
Генералиссимус
Группа: Администраторы
Сообщений: 6392
Репутация: 165
Статус: Оффлайн
| У каталога "C:\Program Files (x86)\1cv8\common" включено наследование прав для дочерних объектов? Файлы компонент программа помещает путем перемещения, создавая их сначала в стандартном временном каталоге.
|
|
| |
tormozit | Дата: Суббота, 10.12.2016, 19:53 | Сообщение # 5 |
Генералиссимус
Группа: Администраторы
Сообщений: 6392
Репутация: 165
Статус: Оффлайн
| Последнюю версию с поддержкой Windows XP выложил в разделе Файлы http://devtool1c.ucoz.ru/load....-1-0-15
|
|
| |
Янгертан | Дата: Понедельник, 12.12.2016, 09:47 | Сообщение # 6 |
Рядовой
Группа: Проверенные
Сообщений: 8
Репутация: 4
Статус: Оффлайн
| Цитата tormozit ( ) У каталога "C:\Program Files (x86)\1cv8\common" включено наследование прав для дочерних объектов? На сам каталог всем пользователям выданы полные права. Но, при копировании обработкой, файл помещается в этот каталог без брав родителя. Похоже, что для файла отключено наследование прав от родителя. И такая же проблема с компонентой "StrMatchExtension.dll", для нее тоже права не наследуются от родителя.
Цитата tormozit ( ) Спасибо
UPD. Проверил на другом сервере, где компоненты не были зарегистрированы. Запустил регистрацию под пользователем ОС без админ. прав. Право на добавление/изменение в папке есть. В момент регистрации, файлы копируются в эту папку назначения, но без наследования прав родителя. После того, как мы под админом установили компоненты, и выдали права для всех пользователей, у пользователя ОС без админ. прав заработало преобразование запроса в дерево.
Сообщение отредактировал Янгертан - Понедельник, 12.12.2016, 17:28 |
|
| |
tormozit | Дата: Понедельник, 12.12.2016, 21:41 | Сообщение # 7 |
Генералиссимус
Группа: Администраторы
Сообщений: 6392
Репутация: 165
Статус: Оффлайн
| На Windows 10 64b изучил поведение функций КопироватьФайл и ПереместитьФайл платформы, используемых при установке компонент. Файл копируется и перемещается с наследованием прав (при включенном наследовании у папки-приемника). В общем то это стандартное поведение для всех файловых менеджеров. А вот сохранение прав на файл (игнорирование наследования от приемника) при таких операциях нештатное поведение и обычно включается дополнительным настройками (например в Total Comander есть флажок в диалоге копирования файлов).
Открой свойства папки-приемника Безопасность/Дополнительно в таблице разрешений найди строку с субъектом Пользователи. Там должен быть установлен режим "Для этой папки, ее подпапок и файлов" в колонке "Применяется к". Если он установлен, то скопируй (например проводником) любой личный файл пользователя в эту папку и посмотри, какие ему права установятся.
|
|
| |
Янгертан | Дата: Вторник, 13.12.2016, 00:56 | Сообщение # 8 |
Рядовой
Группа: Проверенные
Сообщений: 8
Репутация: 4
Статус: Оффлайн
| На личном компьютере с Win10 x64 аналогичная ситуация. После установки платформы никаких изменений в права доступа не вносил. Вот параметры доступа к папке common:
Для пользователя включено наследование прав для подчиненных объектов.
Вот права на файлы, установленные инструментами:
А вот права на файлы, помещенные в каталог при установке платформы:
На этих скринах видно, что при установке файлу права выданы на группы пользователей "Администраторы" , "Пользователи". В случае с установленными компонентами, права выданы пользователю установившему компоненту и группе, к которой он принадлежит. После перемещения файлов компонент с помощью Total Commander'a получил следующие права на файл:
Видно, что набор прав больше чем у файлов, созданных в процессе установки.
|
|
| |
Янгертан | Дата: Вторник, 13.12.2016, 01:25 | Сообщение # 9 |
Рядовой
Группа: Проверенные
Сообщений: 8
Репутация: 4
Статус: Оффлайн
| Для чистоты эксперимента удалил все файлы компонент и выполнил повторную регистрацию под правами администратора. В итоге получил следующие права на файл: Права вернулись к исходному состоянию. Эту операцию проводил на платформе 8.3.8.1652. Дабы отбросить проблемы, связанные с платформой, решил повторить опыт на последней стабильной на данный момент платформой 8.3.9.1850. Результат: Результат аналогичный, так что проблема не в платформе. Чтоб окончательно развеять сомнения по отношению к платформе, попробовал сделать все то же на платформе 8.2.19.130. Результат аналогичен, не хочу повторять еще раз этот скрин. Похоже, это все же фишка 1С Предприятия.
|
|
| |
tormozit | Дата: Вторник, 13.12.2016, 22:11 | Сообщение # 10 |
Генералиссимус
Группа: Администраторы
Сообщений: 6392
Репутация: 165
Статус: Оффлайн
| Спасибо за помощь. Разобрался. Метод платформы ПереместитьФайл работает также как и команда "move" ОС Windows, а она при перемещении файла сохраняет его права строго, т.е. не применяет наследование от папки-приемника. А метод платформы СкопироватьФайл в паре с командой "copy" применяет наследование от папки-приемника. В следующей версии я переделаю перемещение файлов через копирование и удаление.
|
|
| |
tormozit | Дата: Воскресенье, 18.12.2016, 22:15 | Сообщение # 11 |
Генералиссимус
Группа: Администраторы
Сообщений: 6392
Репутация: 165
Статус: Оффлайн
| Проблема наследования прав решена в 3.89
|
|
| |