Установил программу под win2k с НЕ АДМИНОВСКИМИ правами, и программа не запускается! Может, если есть возможность, как можно меньше записывать в Registry информации и работать с локальным ini файлом?
Dervish: Я уже убрал код доступа к реестру. Реестр во второй версии будет использоваться только для задания типов файлов.
Вообще, очень странно это для меня, ведь я не пока изменял логику работы программы с рестром. Очень странно.
Спасибо, я посмотрю, в чём состоит проблема.
Что не работает ИМЕННО новая Beta 1.4 Build 1026.
Предыдущая все ОК.
Dervish: Спасибо. Буду разбираться.
При установке, происходит ошибка:
Error on changing registry data!
Далее соответственно дапись: Приложение не установлено надлежащим образом и не будет правильно работать. Что собственно и делает
Dervish: Ну, инсталятор не мой, я пользуюсь инсталлятором
www.ginstall.com, но просто в этой бете не учёл, что к ключу HKEY_LOCAL_MACHINE доступ на запись есть только у администратора. Соответственно, до устранения ошибки бета должна устанавливаться пользователем с правами администратора.
Кстати, неправильно писать ini-файлы в program files. У не-администратора может не быть прав записи в этот каталог.
Microsoft настоятельно рекомендует использовать для хранения подобных файлов %SystemDrive%Documents and Settings\%user%Application Data (или соответствующую папку в других операционках).
Dervish: Есть ещё проблема с нахождением этой папки. Особенно на Windows`95. Специальный системный вызов для нахождения адреса этой папки появился только, если не ошибаюсь в Windows`98.
Если нет прав Администратора, то в Programm Files ничего и не установится (если не разрешено). Лучше ini файл, конечно, хранить в папке вместе с программой.
Dervish: Некоторые пользователи устанавливают программу под правами администратора (если она не устанавливается под обычными правами), а работают с ней с обычного логина, без прав администратора.
Администратор устанавливает программу в Program Files и все! Кроме того, что ini-файл создастся, ничего больше не произойдет. А вот пользователи ее запустят, изменят что-нибудь, а изменения записаться не могут -- нет прав. Так что все, что может измениться, надо хранить в личной папке юзера (вот маразм! а что поделать? NT...).
Dervish: Нууу, в других операционках тоже, наверное, свои заморочки есть.
мда... давать юзеру все загадить, вот решение.
Все "взрослые" ОС не дают писать куда попало. И это есть правильно.
Dervish: Либо всё-таки в реестре.
Мы что, уже обсуждаем многопользовательскую версию?
С разными настройками, безопасностью (шифрованием) и т.д.
Dervish: Вообще, я обсуждал тонкости работы однопользовательской версии на совместно используемом компьютере. У каждого пользователя свои настройки, каждый может шифровать данные.
Реально многопользовательская система (один файл данных, открытый с разных компьютеров в локальной сети), это слишком сложная задача. Сложность состоит в том, что тут уже потребуется какая-нибудь штатная СУБД, поскольку задачи синхронизации процессов (для доступа к одним и тем же данным), оповещения (в внесённых изменениях, чтоб не жать всё время F5 - Refresh) весьма непросты.
Хотя, может быть, когда-нибудь... Но пока я об этом речи не веду, извините.
> Мы что, уже обсуждаем многопользовательскую версию?
Ну да. Главный пост как раз и был о проблеме работы программы в *реально* многопользовательской среде.
> С разными настройками [...]
Разные настройки уже есть -- стОит только запустить программу под разными пользователями. Проблема как раз в том, что в правильно построенной многопользователской среде, где только админ может писать в Program Files, программа дает сбой, т.к. записывает настройки пользователей в общий Program Files, а не в индивидуальную ветвь реестра.
Dervish: Думаю, надо различать работу с программой за одним компьютером нескольких пользователей (по очереди, конечно же) и реально одновременную работу. Я пока веду речь об этом. См.мой ответ на пост выше.