Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Опять неприятности с HKEY_LOCAL_MACHINE [D5, Win2k, WinXP]


yaJohn ©   (2003-10-21 18:06:00) 

Задача проста. Есть приложение, ести инсталятор. Инсталятор запускается из под админа, приложение - PowerUser.
Инсталятор должен прописать в реестр настройки, которые должны быть доступны по чтению/записи для всех юзеров (у юзеров разные логоны, но все минимум PowerUser).
Инсталятор InstalShieldExpress. Все просто, все обычно, никаких экстремальных задач.
А теперь грабли.
Если инсталятор пишет в HKEY_CURRENT_USER, то для остальных юзеров эта информация есссссно, недоступна. Т.е. отпадает.
Ладно, переезжаем в HKEY_LOCAL_MACHINE. Инсталятор пишет под админом (назовоем "Admin"), все нормально. Но. Аппликейшн запускаемый из под другого аккаунта (назовоем "User") не находит ветку :( В регедите ветка видна и нормально читается. Более того.
Запускаем под новым аккаунтом все тот же инсталятор. Он честно находит инсталированный апликейшн и предлогает его любить/лечить/убить. Выбираем "убить". В регедите ветка исчезает. Теперь снова инсталируем (под "User"). Инсталируется, ветка есть и чудесно читается.
Мнэээ... Винда каким то образом определяет, под каким логоном была создана ветка в HKEY_LOCAL_MACHINE??? Я про такое не слышал....
Кроме того, все должно работать под W2K и XP.

Я уже долбал общественность вопросом по доступу к HKEY_LOCAL_MACHINE. Общественность радостно заявила, что у меня правов таких нет, надобно у виндов их выспросить. ИМХО усы и хвост - вот мои документы (регедит же видит, читает и пишет под темже логоном), но мне не спорить надо, а решение найти, поэтому права - так права, в каком разделе хелпа искать-то???

Буду признателен за любую подсказку как сии грабли обойти/поломать/перепрыгнуть. Заранее - сеньксы.


Nikolay M.   (2003-10-22 17:22:00) [1]

Может, TRegistry.Access поможет? По умолчанию он равен KEY_ALL_ACCESS.


Игорь Шевченко   (2003-10-22 15:03:00) [2]


> Винда каким то образом определяет, под каким логоном была
> создана ветка в HKEY_LOCAL_MACHINE??? Я про такое не слышал....


Разумеется. Через права, котрые можно посмотреть в regedt32 (не путать с regedit)


Наверх

Титульная страница Поиск, карта сайта Написать письмо