Форум: "Начинающим";
Текущий архив: 2014.01.12;
Скачать: [xml.tar.bz2];
ВнизОшибка доступа Найти похожие ветки
← →
dEN (2013-03-19 10:52) [0]Привет. Есть у меня маленькая прогрммка-справочник, используется у нас на работе. У рядовых пользователей нет прав администратора на рабочих станциях. Программа периодически пишет некоторые данные в ini-файл. Естественно без прав админа она этого делать не может. На компах с WinXP сделал права чтения/записи на папку с программой и все ОК. На Win7 такой трюк не прокатывает. Подскажите как быть? Там другой механизм доступа?
← →
Podgoretsky (2013-03-19 10:55) [1]Наверно разместил свой файл в папке ReadOnly
← →
Inovet © (2013-03-19 10:59) [2]Не писать в Program Files, есть специальные места для хранения данных.
← →
dEN (2013-03-19 11:04) [3]>> Наверно разместил свой файл в папке ReadOnly
На папку также ставили разрешения чтение/запись, но все равно просит пароль админский
>> Не писать в Program Files, есть специальные места для хранения данных.
Программу уже установили многие, менять сейчас что-то не просто, некоторые станции очень далеко от меня...хотя все правильно конечно говорите
← →
Inovet © (2013-03-19 11:09) [4]> [3] dEN (19.03.13 11:04)
> Программу уже установили многие, менять сейчас что-то не просто
Сделать апдейт с переносом настроек.
← →
dEN (2013-03-19 11:16) [5]>> Сделать апдейт с переносом настроек.
Это единственный вариант? Прогу надо сейчас уже запускать, пользователей > 500, пока я всем сделаю апдейт (повторю, многие далеко от меня) пройдет много времени. Я конечно это сделаю, обязательно. Но неужели дать права на эту папку никак нельзя?
← →
robt (2013-03-19 11:22) [6]я бы на твоем месте с позором уволился и пошел работать дворником
← →
robt (2013-03-19 11:22) [7]ибо это только начало...
← →
dEN (2013-03-19 11:28) [8]>> я бы на твоем месте с позором уволился и пошел работать дворником
Я не работаю программистом. В своей сфере я неплохой спец (оптические системы связи, связист вообщем). Эту прожку (простая как валенок) поросили сваять года три назад, дельфи просто хобби, не более. Сделал, прижилась прожка. Да вот не учел сей момент, раньше у все Хрюша была, а сейчас стали на 7 - ку переходить и привет ))
← →
Inovet © (2013-03-19 11:28) [9]> [5] dEN (19.03.13 11:16)
Права лучше не давать.
1. Как вариант ставить прогамму не в Програм Файлес.
2. Вообще-то Вин7 подсовывает виртуальную папку для сохранения таких файлов для совместимости.
3. Апдейт всё равно понадобится делать, раз не работет. Пусть он и перенесёт заодно настройки, там где и так работает на ХП.
← →
robt (2013-03-19 11:37) [10]
> Да вот не учел сей момент, раньше у все Хрюша была
тогда и админа уволить с позором, ибо ограниченные права есть и в Хрюше, а он допускал работу всех с правами админа, подвергая всю сеть предприятия опасности
← →
clickmaker © (2013-03-19 12:20) [11]увольте всех на фиг, возьмите на работу robta, он вам наведет порядок...
← →
dEN (2013-03-19 12:59) [12]>> тогда и админа уволить с позором, ибо ограниченные права есть и в Хрюше, а он допускал работу всех с правами админа, подвергая всю сеть предприятия опасности
Глупости не пишете. написал же в первом посте что на Хрюшах небыло прав админа, права были только на папке (чтение\запись).
>> увольте всех на фиг, возьмите на работу robta, он вам наведет порядок...
у нас таких перцев пруд пруди ))
← →
dEN (2013-03-19 13:00) [13]Понятно вообщем, буду апгрейдить )) Спасибо всем за советы!
← →
robt (2013-03-19 14:04) [14]
> clickmaker © (19.03.13 12:20) [11]
+1
> у нас таких перцев пруд пруди ))
мне вот непонятно, чья проблема с правами доступа, твоя (оптико-волоконщика) или админа которому платят за админа?
тебя попросили - ты наваял, пусть остальные гребутся как хотят, тебеж за просьбы недоплачивают?
← →
robt (2013-03-19 14:09) [15]
> Да вот не учел сей момент, раньше у все Хрюша была, а сейчас
> стали на 7 - ку переходить и привет
забавно висте уже 6 лет, а 7ке 3.5 года, т.е. она уже была к моменту создания проги...
надеюсь что в 8ке потестишь раньше чем к 2015 году :)))
← →
dEN (2013-03-19 14:46) [16]>> robt (19.03.13 14:09) [15]
От меня это не зависит
← →
robt (2013-03-19 15:00) [17]
> dEN (19.03.13 14:46) [16]
как это не зависит?
ты не в состоянии установить новую ОСь и проверить работоспособность?
← →
dEN (2013-03-20 08:16) [18]>> Inovet © (19.03.13 10:59) [2]
А какие специальные места? Пробовал в Application Data - пароль все равно просит
← →
Inovet © (2013-03-20 09:21) [19]> [18] dEN (20.03.13 08:16)
> Пробовал в Application Data - пароль все равно просит
У меня не спросила
procedure TForm1.Button1Click(Sender: TObject);
var
LStr: array [0 .. MAX_PATH] of Char;
begin
if SHGetFolderPath(0, CSIDL_LOCAL_APPDATA, 0, 0, @LStr) = S_OK then
begin
CreateDir(LStr + "\MyApp");
end;
end;
← →
dEN (2013-03-20 10:41) [20]>> Inovet © (20.03.13 09:21) [19]
Да, создается без проблем...но если попробовать запустить оттуда файл *.exe (мне нужно, ибо это модуль который обновляет некоторые данные) - просит логин/пароль. Как обойти?
← →
Inovet © (2013-03-20 11:06) [21]> [20] dEN (20.03.13 10:41)
Зачем *.exe ТУДА засовывать? Это некоторые богомерзкие программы взяли моду пихать себя в в профиль пользователя, чтобы он (пользователь) втихушку от админов их ставил где-нить на рабочем компе.
Помести его в %TEMP%. Отработает, вызовет основой исполняемый файл программы, создав предварительно, допустим, мьютекс с каким-нибудь именем MyAppUpdated. Основной увидит этот мьютекс и удалит из %TEMP% обновлятор и мьютекс. Ну или как-нибудь похожим образом, файл там создай какой в той же "...AppData\MyApp". В общем много раз уже обсуждалоись обновляторы.
← →
dEN (2013-03-20 11:25) [22]>> Inovet © (20.03.13 11:06) [21]
Честно говоря не очень понял....у меня есть основная программа + обновлялка (отдельный EXE). В WinXP оба EXE (основной программы и упдатера) лежали в одной папке, проблем небыло. В Win7 основная программа запускается от имени админа и,пытаясь программно запустить Update.exe (обновлялку) получаю запрос имени и пароля. С настройками я разобрался, храню их теперь там где нужно )) А вот с запуском обновлялки пока проблема...
← →
Inovet © (2013-03-20 11:36) [23]> [22] dEN (20.03.13 11:25)
Ты написал, что исполняемый файл обновлятора запускается из AppData, а не из Programm Files. Так откуда всё-таки? И вообще, как происходит обновление?
← →
dEN (2013-03-20 12:05) [24]Вообщем программа устанавливается в Program Files изначально. Там файл MyPrg.exe, Update.exe и пара файлов настройки (ini). Программа в процессе работы проверяет на удаленном сервере наличие некоторых, не важно каких, обновлений. Если они там есть сообщает пользователю об этом. Пользователь может запустить модуль обновлений (Update.exe) и обновиться. Так вот, при попытке запуска Update.exe появляется запрос имени пользователя и пароля. Тоже самое было с попыткой писать в ini, вашей помощью это успешно решено переносом в Local/AppData. Попытался сунуть туда и Update.exe чтобы не получать запроса пароля - не вышло )) Вот и думаю как его запускать
← →
Inovet © (2013-03-20 12:08) [25]> [24] dEN (20.03.13 12:05)
Так Update.exe поди перезаписывает MyPrg.exe? Тогда нормально, что админа требует.
← →
dEN (2013-03-20 12:12) [26]не всегда, но да, бывает )) обойти не получиться?
← →
dEN (2013-03-20 12:14) [27]Причем запрос имени и пароля происходит только еще на этапе вызова Update.exe
← →
sniknik © (2013-03-20 12:18) [28]а кто программу писал? походу манифест там на необходимые права (совершенно правильно), поэтому и требует на старте.
← →
Inovet © (2013-03-20 12:19) [29]> [27] dEN (20.03.13 12:14)
> только еще на этапе вызова Update.exe
Это странно вообще-то.
> [26] dEN (20.03.13 12:12)
> обойти не получиться?
Так весь смысл в том, чтобы от имени пользователя никто не смог изменить важные вайлы в Програм Файлес. Раз надо апдейтится, значит надо админа. Апдейт - дело не такое уж частое, в оличие от сохранения данных/настроек.
← →
dEN (2013-03-20 12:20) [30]я писал) манифеста я никакого не делал )) писал под XP
← →
Inovet © (2013-03-20 12:21) [31]> [28] sniknik © (20.03.13 12:18)
> походу манифест там на необходимые права (совершенно правильно)
А, действительно может быть так.
← →
dEN (2013-03-20 12:24) [32]>> Inovet © (20.03.13 12:19) [29]
Пользователей очень много, выставлять им права админа на период обновления (бывает и довольно часто) не представляется возможным....по уму то да, все верно вы говорите, но проблема не исчезла...может есть другие варианты при сохранении исходных требований?
← →
dEN (2013-03-20 12:26) [33]Может ставить программу не в Program Files?
← →
Inovet © (2013-03-20 12:36) [34]> [33] dEN (20.03.13 12:26)
> Может ставить программу не в Program Files?
Ну, выше я предлагал. Но это уже при отсутсвии альтернатив. Большинство апдейтов требуют админских прав, что и правильно. Firefox вон часто обновляется и честно требует повышения прав. А всякие хитрожопые программы втихаря пишут экзешники в профиль. Mailru Agent был уличён в таком, сам им не пользуюсь, так и не знал.
← →
sniknik © (2013-03-20 12:39) [35]> я писал) манифеста я никакого не делал )) писал под XP
на чем писал? если каким нибудь "стандартным сетапером" то он автоматом вставит.
...
хотя, может просто реакция на имя "Update.exe", попробуй переименовать в что-то безличное.
← →
dEN (2013-03-20 12:50) [36]>> Inovet © (20.03.13 12:36) [34]
Вариантов похоже не остается....куда можно устанавливать чтобы дальше работа без запросов пароля?
← →
dEN (2013-03-20 12:50) [37]>> sniknik © (20.03.13 12:39) [35]
Писана на седьмой дельфи, устанвка сделана с помощью InnoSetup. Переименовать попробую
← →
sniknik © (2013-03-20 12:53) [38]> устанвка сделана с помощью InnoSetup.
Update.exe вот этот вот файл, это установка? про него говорим.
← →
dEN (2013-03-20 14:06) [39]нет нет! Это просто доп. модуль который в процессе работы основной программы иногда загружается (пользователь жмет "Обновить") и обновляет некоторые файлы или сам файл программы (если я вношу в нее какие-то изменения). В составе установки осн. исполняемый файл программы, обновлялка (этот самый update.exe) и пара файлов настройки
← →
robt (2013-03-20 20:36) [40]нипойму что непонятно...
все изменения в програмфайлах идут с правами админа, а файл настроек должен лежать в аппдата, чтоб изменения без прав писались
← →
dEN (2013-03-21 08:19) [41]>> robt (20.03.13 20:36) [40]
Это я все понимаю, с файлами настройки проблем нет. Но с обновлением исполняемого файла я так понимаю без вариантов? Только права админа? К сожалению давать такие права всем физически нереально
← →
brother © (2013-03-21 08:35) [42]http://www.cyberforum.ru/delphi-beginners/thread226223-page2.html
http://forum.codeby.net/topic42048.html
начни копать с этого
← →
sniknik © (2013-03-21 09:55) [43]> Но с обновлением исполняемого файла я так понимаю без вариантов? Только права админа? К сожалению давать такие права всем физически нереально
вариантов куча, например - устанавливать не в программ файлес, дать права на изменение папки в программ файлес, не держать исполнимый файл там а всегда качать с сервера, и .т.д.
у тебя кстати "само собой" один из вариантов -
> Так вот, при попытке запуска Update.exe появляется запрос имени пользователя и пароля.
получился. чем не вариант? введи логин пароль админские и обновляй.
все рабочие, не все "сильно правильные" (хотя допустимо в частных случаях, у меня в одной проге кстати основным считается запуск из расшареной папки на сервере... и ничего, админы довольны (обновление = установка сетапом там же, 1 раз, клиенты его как бы автоматом подхватывают)).
а вот то, чего хочешь (как мне кажется по ответам) - запись в защищаемую папку, защищаемый файл... от юзера защищаемый, кстати, переписать именно юзером... то да, это без вариантов.
← →
Inovet © (2013-03-21 09:56) [44]> [42] brother © (21.03.13 08:35)
> http://forum.codeby.net/topic42048.html
"Ну, как и следует, видимо из соображений безопасности."
"да и вообще, выходит мне так придеться ставить галочки почти для каждой написанной мною программы?"
Классные у него программы - почти каждая нарушает безопастность. Атор маньяк и кульный хацкер.
← →
sniknik © (2013-03-21 09:57) [45]> начни копать с этого
повышение прав (включение разрешений) работает только если они есть, но система посчитала нужным отключить. (работа под админсткой учеткой)
в общем, если у него работают нормальными юзерами, то не получится.
← →
sniknik © (2013-03-21 10:16) [46]и еще кстати... начал читать по ссылкам наткнулся на упоминание антивирусов... и это вариант! в смысле еще один. сделай "обновлятор" службой, при установке она ставится и начинает работать под админскими/системы правами. и у нее точно должно доставать прав на перезапись твоей обновляемой программы (если админ не параноик).
и еще + 1 вариант, запускай "обновлятор" через "джобы" (Назначенные задания) там можно выставить от кого они стартуют... самое простое выполнять раз в 5 мин. или научится выполнять самому (хотя... как бы тут тоже прав не потребовалось).
← →
dEN (2013-03-21 10:21) [47]Спасибо огромное всем! Вариант со службой надо проработать! Еще раз спасибо!
Страницы: 1 2 вся ветка
Форум: "Начинающим";
Текущий архив: 2014.01.12;
Скачать: [xml.tar.bz2];
Память: 0.57 MB
Время: 0.003 c