Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
printdee
Зарегистрирован: 20.03.2017 Сообщения: 35
|
Добавлено: Пн Мар 20, 2017 21:47 20.03.2017 Заголовок сообщения: 2.08 Не удается открыть ветку реестра |
|
|
Добрый вечер,
Только установил программу, в настройках пытаюсь указать файл БД для службы мониторинга и ловлю ошибку:
Посмотрел - в реестре ветка PerfectSoft отсутствует.
W10 x64 |
|
Вернуться к началу |
|
|
Michael Руководитель проекта
Зарегистрирован: 12.10.2005 Сообщения: 2488 Откуда: Москва
|
Добавлено: Вт Мар 21, 2017 10:44 21.03.2017 Заголовок сообщения: |
|
|
Для записи в эту ветку реестра необходим административный доступ. Поэтому для установки данной настройки необходимо однократно запустить программу из административной учетной записи (для Windows XP) или дать такие полномочия, нажав правой кнопкой мыши на иконке программы и выбрав пункт "Запуск от имени администратора" (для ОС, начиная с Windows 7).
В одной из следующих версий программы будет добавлена поддержка UAC и программа на лету будет запрашивать дополнительные полномочия.
Ошибкой программы это не является, поэтому переношу тему в общее обсуждение. _________________ Любой путь начинается с первого шага |
|
Вернуться к началу |
|
|
printdee
Зарегистрирован: 20.03.2017 Сообщения: 35
|
Добавлено: Вт Мар 21, 2017 19:01 21.03.2017 Заголовок сообщения: |
|
|
Michael писал(а): | Для записи в эту ветку реестра необходим административный доступ. Поэтому для установки данной настройки необходимо однократно запустить программу из административной учетной записи (для Windows XP) или дать такие полномочия, нажав правой кнопкой мыши на иконке программы и выбрав пункт "Запуск от имени администратора" (для ОС, начиная с Windows 7).
В одной из следующих версий программы будет добавлена поддержка UAC и программа на лету будет запрашивать дополнительные полномочия.
Ошибкой программы это не является, поэтому переношу тему в общее обсуждение. |
1. Если запустить программу от другого пользователя (админа) - у нее будут совсем другие права на общую шару, где лежит БД и она уже может не получить доступа к ней (мой вариант). А запускать от имени доменного админа вообще bad way.
Цитата: | однократно запустить программу из административной учетной записи (для Windows XP) или дать такие полномочия, нажав правой кнопкой мыши на иконке программы и выбрав пункт "Запуск от имени администратора" (для ОС, начиная с Windows 7).
| 2. Нет не помогает. Сколько раз не запускай от имени админа, в следующий раз при запуске от обычного пользователя снова будет такая же ошибка. |
|
Вернуться к началу |
|
|
Michael Руководитель проекта
Зарегистрирован: 12.10.2005 Сообщения: 2488 Откуда: Москва
|
Добавлено: Чт Мар 23, 2017 13:26 23.03.2017 Заголовок сообщения: |
|
|
printdee писал(а): | 1. Если запустить программу от другого пользователя (админа) - у нее будут совсем другие права на общую шару, где лежит БД и она уже может не получить доступа к ней (мой вариант). А запускать от имени доменного админа вообще bad way. |
Так дайте этому админу на время доступ к шаре с базой. После установки настройки этот доступ можно отключить.
printdee писал(а): | 2. Нет не помогает. Сколько раз не запускай от имени админа, в следующий раз при запуске от обычного пользователя снова будет такая же ошибка. |
Ошибка возникает только при записи в реестр. Тут есть такой момент, что диалог настроек при нажатии ОК обновляет все доступные настройки, в том числе и настройку службы мониторинга. Это будет доработано в программе, чтобы сохранялись только измененные настройки. Можно также пользователю отключить доступ к глобальным настройкам программы (через управление доступом), и эта ошибка также не будет беспокоить. _________________ Любой путь начинается с первого шага |
|
Вернуться к началу |
|
|
printdee
Зарегистрирован: 20.03.2017 Сообщения: 35
|
Добавлено: Чт Мар 23, 2017 14:37 23.03.2017 Заголовок сообщения: |
|
|
[quote="Michael"] printdee писал(а): |
1.Так дайте этому админу на время доступ к шаре с базой. После установки настройки этот доступ можно отключить.
2.Ошибка возникает только при записи в реестр. Тут есть такой момент, что диалог настроек при нажатии ОК обновляет все доступные настройки, в том числе и настройку службы мониторинга. Это будет доработано в программе, чтобы сохранялись только измененные настройки. Можно также пользователю отключить доступ к глобальным настройкам программы (через управление доступом), и эта ошибка также не будет беспокоить. |
1. Я понял мысль и давно это протестировал на локальной базе. А вот выделенное сочетание не является корректным. потому что:
Запускаем от админа, настраиваете все, сохраняем. Закрываем программу. Открываем от обычного пользователя. Знаете что будет в настройках? Пустота - http://prntscr.com/eng6yj . А изменить не сможем потому что ошибка.
Поэтому повторюсь - не важно где база в принципе, лежит, не важно сколько раз вы предварительно настроили от админа и сохранили, при запуске от юзера путь слетит.
Это значит фактически данная функция работоспособна только при работе от админа |
|
Вернуться к началу |
|
|
Michael Руководитель проекта
Зарегистрирован: 12.10.2005 Сообщения: 2488 Откуда: Москва
|
Добавлено: Чт Мар 23, 2017 14:58 23.03.2017 Заголовок сообщения: |
|
|
printdee писал(а): | Поэтому повторюсь - не важно где база в принципе, лежит, не важно сколько раз вы предварительно настроили от админа и сохранили, при запуске от юзера путь слетит. |
Как же путь слетит, если у юзера нет доступа к этой ветке реестра? Программа просто не может прочитать данные (и не показывает их в интерфейсе) и не может записать в реестр, о чем честно сообщает. В реестре все остается на месте.
printdee писал(а): | Это значит фактически данная функция работоспособна только при работе от админа |
Если под работоспособностью понимать возможность изменения данной настойки, то да, нужен доступ к конкретной ветке реестра. Полный админский доступ не обязателен. _________________ Любой путь начинается с первого шага |
|
Вернуться к началу |
|
|
printdee
Зарегистрирован: 20.03.2017 Сообщения: 35
|
Добавлено: Чт Мар 23, 2017 15:02 23.03.2017 Заголовок сообщения: |
|
|
Вас понял, но если программа не может прочитать данные в реестре - значит она и не узнает где файл бд? |
|
Вернуться к началу |
|
|
Michael Руководитель проекта
Зарегистрирован: 12.10.2005 Сообщения: 2488 Откуда: Москва
|
Добавлено: Чт Мар 23, 2017 15:06 23.03.2017 Заголовок сообщения: |
|
|
Я понимаю, возникает некоторое неудобство, когда юзер входит в настройки и потом сохраняет свои изменения. Какое-то лишнее сообщение об ошибке выскакивает. По хорошему надо проверять доступ к реестру, и если доступа на запись нет, то данную страницу настроек полностью отключать с сообщением об отсутствии прав (на самой странице). Там еще на этой странице запланировано управление службой (пуск/стоп), вот все вместе и будет реализовано. _________________ Любой путь начинается с первого шага |
|
Вернуться к началу |
|
|
Michael Руководитель проекта
Зарегистрирован: 12.10.2005 Сообщения: 2488 Откуда: Москва
|
Добавлено: Чт Мар 23, 2017 15:09 23.03.2017 Заголовок сообщения: |
|
|
printdee писал(а): | Вас понял, но если программа не может прочитать данные в реестре - значит она и не узнает где файл бд? |
Настройка, которую мы обсуждаем - это путь для службы мониторинга (Harvester). А программа путь к БД запоминает в HKCU, с этим проблемы быть не должно. _________________ Любой путь начинается с первого шага |
|
Вернуться к началу |
|
|
printdee
Зарегистрирован: 20.03.2017 Сообщения: 35
|
Добавлено: Чт Мар 23, 2017 15:11 23.03.2017 Заголовок сообщения: |
|
|
Тут еще один момент, который я только сейчас понял:
настройки выполняются из программы, но использует их именно служба харвестера, поэтому даже если юзер не видит настройки - по факту служба выполняется от имени системы, и без проблем читает эти настройки.
UPD. не видел предыдущий пост |
|
Вернуться к началу |
|
|
Michael Руководитель проекта
Зарегистрирован: 12.10.2005 Сообщения: 2488 Откуда: Москва
|
Добавлено: Чт Мар 23, 2017 16:35 23.03.2017 Заголовок сообщения: |
|
|
printdee писал(а): | Тут еще один момент, который я только сейчас понял:
настройки выполняются из программы, но использует их именно служба харвестера, поэтому даже если юзер не видит настройки - по факту служба выполняется от имени системы, и без проблем читает эти настройки. |
Да, именно так. Естественно, служба должна выполняться от имени аккаунта, у которого есть доступ и в реестр и к БД. _________________ Любой путь начинается с первого шага |
|
Вернуться к началу |
|
|
|