Помощь - Поиск - Пользователи - Календарь
Полная версия: Работа Перехвата в Vista
ПерехватЪ > Программа "ПерехватЪ" > BugTrack
AlexN
Добрый день.
Под Vista есть проблемы с работой в режиме простого пользователя (в висте все по-умолчанию работают как простые пользователи, даже админы).
Быстрое исследование проблемы показало что перехват пытается при запуске создать файл Perehvat.dll в System32 (при этом появляется сообщение о невозможности работать со временной папкой) и как мне кажется пытается писать в собственную папку (ниже "Program Files").
Есть планы по адаптации для нормальной работы в Vista без прав админа?
gonzales
интересное наблюдение. По идее работа перехвата идет нормально с правами Опытного пользователя, при условии установки с правами админа. Но я уверен, что должна быть возможность работы с папкой system32, ведь это системная папка, в которую разные программы записывают свои длл-ки.
AlexN
Установка должна производиться с правами админа - иначе никак. С эти не поспоришь.
Но вот работа программы должна нормально проходить и при запуске под обычным пользователем.
Здесь же получается ситуация что программа при каждом (!) запуске пытается записать dll-ку Perehvat.dll в System32 (легко отследить FileMon-ом).
Зачем это делать каждый раз? Ведь достаточно записать ее туда при установке. Права на чтение у любого пользователя есть, дело только в правах на запись.
Кстати, то же касается и пользовательских настроек программы в многопользовательских средах - их рекомендуется хранить в профиле пользователя. Для Windows рекомендуемый путь в профиле определяется переменной среды %APPDATA% или запись в ветку реестра HKCU
gonzales
длл-ку записывает не программа а плагин, а так как плагин - вещь непостоянная, то для гибкости сделано таким образом. Кстати я попробовал поработать в висте, и все у меня было нормально, можно записывать и читать в виндовую папку.

Цитата
Кстати, то же касается и пользовательских настроек программы в многопользовательских средах - их рекомендуется хранить в профиле пользователя. Для Windows рекомендуемый путь в профиле определяется переменной среды %APPDATA% или запись в ветку реестра HKCU


мысль интересная, надо подумать
AlexN
Этого не может быть. Я гарантирую что в настройках по-умолчанию если система (Windows NT и выше) установлена на NTFS, у обычного пользователя нет прав на запись в папку System32. Для Vista то же касается и администраторов, которые не запускали программу в режиме "Run as administrator".
Если в 2-х словах, любая программа в Vista по-умолчанию запускается с правами обычного пользователя. Т.е. без прав записи в System32 и соответствующие ветки реестра. Но у адсинистратора есть возможность запустить программу в особом режиме - административном. Именно в нем наследуются все права админа.
Более подробно про эту технологию в Vista можно прочитать здесь:
Контроль учетных записей пользователей в Vista
Заметки о Windows, Exchange, и о всем остальном
Или просто по поиску UAC в гугле.

По поводу записи в System32 - возможно у вас система установлена на Fat или Fat32 - в этих файловых системах просто нет разграничений по правам. Если устанавливать ту же WinXP на NTFS, то получим под обычным пользователем все то что я уже описал.
gonzales
ну конечно же я запускал ее в режиме "Run as administrator". Она спросила один раз и больше не возникала, и все работаетsmile.gif
AlexN
При каждом запуске программы нужно это делать.
Я же говорил именно про запуск под обычным пользователем smile.gif
gonzales
да, есть такой момент, в след релизе исправлю
DON_B
я тут тоже решил запуститьт перехват в висте, первое с чем столкнулся, єто регулировка системного звука, тоесть она не работает, звук не регулируется, в самомомикшере появляется отдельная шкала для перехвата, ну как єто реализовано со всеми программами в висте в смісле звука, так вот єта громкость ездит вниз и вверх, но толку естественно нет. Ещё не реагирует медиа плеер 11 на настройку персета кнопок под него с пом. одноименного плагина. Хотя в ХР 11 медиаплеер не пробовал приручить, может єто конечно бок версии плеера, а не плагина под него.
gonzales
да, со звуком какая то лажа. буду разбираться.
gonzales
ИТАК, мои наблюдения по работе Перехвата в Висте.

Программа корректно работает только в одном случае: если принудительно отключить UAC. Все остальный способы потерпели крах. И дело даже не в том, что нет регулировки системной громкости - это уже мелочи, которые со временем бы разрешились, а дело в том, что под локальным пользователем ЗАПРЕЩЕН запуск неподписанных драйверов и нет доступа к системным службам, а так как у Перехвата самопальный драйвер, то само собой он просто не проходит проверку. Установка галочки "run as administrator" тоже ни к чему хорошему не приводит, Виста на этапе автозапуска блокирует Перехват - как неизвестное приложение. Так что выход один - либо каждый раз запускать Перехват от имени администратора (и при этом иметь порезанными некоторые функции) либо отключить UAC - он кстати меня ИЗВЛЕК еще в первую неделю пользования, и я его с удовольствием отключил (слава богу что есть возможность не только его отключить, но и отключить уведомления о нем).

Уверен, что со временем появиться информация о том, как работать со сторонними драйверами под локальным пользователем и Перехват будет нормально работать под Windows Vista, но пока такой информации я не нашел.
AlexN
По поводу звука: в Висте реализован интересный (по-моему очень правильный) подход к микшированию звука. Теперь каждая программа может иметь свой уровень громкости. Т.е. например можно настроить чтобы при приходе сообщения в ICQ она не орала во все горло, а тихонечко "квакала", но при этом другие программы работали с нормальным уровнем. Кроме того теперь можно просто отключить вывод звука для любой работающей программы. Очень удобно, но есть одно "но". Любая программа, которая работает по-старому теперь меняет не общую громкость, а "свою" громкость. В этом плане у меня забавно работал драйвер мультимедийной клавиатуры. В XP он менял общую громкость и мог делать общий Mute, а т.к. в висте он менял теперь только громкость "для себя", (и мьютил тоже только себя smile.gif то толку от него не было.
Визуально это все легко увидеть если вызвать микшер звука и попробовать в старых программах, которые регулировали системный уровень звука изменять уровень. Будет четко видно что меняется не системный уровень, а именно их личный.
Теперь насчет работы драйвера и прав обычного пользователя. стандартная практика обращения к привелигированным функциям от лица обычного пользователя такая: все необходимые привелигированные функции собираются в отдельный модуль и пишется "сервис", который всегда работает от лица системы. Т.е. у этого сервиса есть все необходимые права. Сервис устанавливается при установке программы администратором и в дальнейшем стартует автоматически при старте системы. Программа же должна иметь интерфейс к этому сервису. Она запрашивает у сервиса выполнения той или иной функции, а уже он выполняет их от лица системы и передает результаты работы. Таким образом сервис является посредником между пользователем и привелигированными функциями операционной системы.
gonzales
Цитата
Будет четко видно что меняется не системный уровень, а именно их личный
я думаю все это заметили, и я в том числе. А вот как быть если нужно поменять уровень "чужой программы" пока не понятно.

Цитата
Т.е. у этого сервиса есть все необходимые права. Сервис устанавливается при установке программы администратором и в дальнейшем стартует автоматически при старте системы.

Вы все совершенно правильно говорите, но есть один нюанс. Написанный сервис в упор не хочет стартовать автоматически sad.gif. А для его старта вручную, как это было в XP нужны права админа. Скорее всего я просто пока не знаю, как это сделать.
slon25
Цитата(gonzales @ Aug 26 2007, 08:37 PM) *
ИТАК, мои наблюдения по работе Перехвата в Висте.

Программа корректно работает только в одном случае: если принудительно отключить UAC. Все остальный способы потерпели крах. И дело даже не в том, что нет регулировки системной громкости - это уже мелочи, которые со временем бы разрешились, а дело в том, что под локальным пользователем ЗАПРЕЩЕН запуск неподписанных драйверов и нет доступа к системным службам, а так как у Перехвата самопальный драйвер, то само собой он просто не проходит проверку. Установка галочки "run as administrator" тоже ни к чему хорошему не приводит, Виста на этапе автозапуска блокирует Перехват - как неизвестное приложение. Так что выход один - либо каждый раз запускать Перехват от имени администратора (и при этом иметь порезанными некоторые функции) либо отключить UAC - он кстати меня ИЗВЛЕК еще в первую неделю пользования, и я его с удовольствием отключил (слава богу что есть возможность не только его отключить, но и отключить уведомления о нем).

Уверен, что со временем появиться информация о том, как работать со сторонними драйверами под локальным пользователем и Перехват будет нормально работать под Windows Vista, но пока такой информации я не нашел.



А как его отключить?
gonzales
в настройке учетных записей пользователей

или использовать версию 2.2.11, которая предполагает использование Висты, но с некоторыми ограничениями, читайте FAQ и описание к релизу
Oki-Doki
Освежу тему. Железо: перешитый Авер, софт: Виста х32, драйвера и программа BeholTV 5-й версии. При попытке настроить управление программой ТВ-тюнера (используя готовый пресет) упорно вылетает ошибка, связанная с ntdll.dll. Версия Перехвата последняя, драйвер последний для перешитого авера. В чем затык - не пойму... В 5-й версии дров? Запуск в режиме совместимости с ХР - результат тот же. В системе права администратора.

Вопрос снимается: не знаю в чем причина, но после очередной переустановки программа заработала без ошибки.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2012 Invision Power Services, Inc.