Страница 1 из 4

ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 10:32:04
vitaly_l
При попытке инстолятора записать в ProgramFiles UAC требует права администратора...
Поискал код нашёл сделал. Теперь UAC спрашивает и затем устанавливает в ProgramFiles.

Но теперь возникла другая проблема.
Проинсталированная: программа - без прав администратора перестала работать (не может перезаписать обыкновенный ini),
а раньше если устанавливал в несистемную директорию, то работала....
Это как-то связано с ProgramFiles и правами администратора.
Однако, если принудительно, каждый раз при запуске спрашивать и давать права администратора, то работает...

:?: Вопрос: Как, при создании директории: "NewDirectory", установить права (типа "для всех") на создаваемую в ProgramFiles директорию?



.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 11:05:13
Vadim
vitaly_l писал(а):Это как-то связано с ProgramFiles и правами администратора.

По ауре Вашего раздражения вижу, что Вы используете Windows 7 (или Vista, что ещё хуже). :)
Попробуйте на каталог с программой дать права обычного пользователя ручками, это Вас ненадолго успокоит. Программно этого делать не надо, просто категорически не надо, только ручками.
А вообще, с такими вопросами надо либо к Биллу Гейтсу обращаться, либо, если Вы живёте в России, сразу к президенту Путину. :)

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 11:16:03
NTFS
Решение:
В Program Files устанавливать только неизменяемые бинарные данные, а настройки и прочее хранить в каталогах пользователя (/home или C:Users).

Добавлено спустя 1 минуту 46 секунд:
И Билл Гейтс тут ни при чем, он наооборот наконец-то привел архитектуру в порядок. Проблема в том, что за два десятка лет выросло целое поколение, считающее, что хранить данные в Program Files - это нормально. В терминах Unix - никто не кладет настройки в /usr, для этого есть /var, на крайняк - /etc

Добавлено спустя 2 минуты 9 секунд:
В общем, изучайте Unix-системы, это очень полезно, даже если под них ничего не разрабатываете.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 11:32:26
vitaly_l
Я так и думал...
Теперь понятно, спасибо...
Выросло целое поколение...
Интересная мысль....
А в чём разница между директориями?
Так вся информация ВИЗУАЛЬНО храниться в одном месте,
а по Вашему вся информация ВИЗУАЛЬНО хранится в разных местах...
А диск один и тот-же...

AppData - это для изменяемых файлов?
Или нужно в Мои документы?!...
А если крос-платформенная, то как разобраться?
А если БлинГейтс - название AppData поменяет??? Где искать???
Не вижу смысла... Зачем писать в разные директории????!
Вадим прав - это коварная политика... чуть неуследил за БлинГейтсом и всё твоя программа больше не ликвидна...

Может кто разумно объяснить?
Зачем писать в разные директории????!

В любом случае: Всем большое человеческое СПАСИБО!

.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 11:56:55
Vadim
vitaly_l писал(а):Зачем писать в разные директории????

Два разных подхода к хранению - Windows и Unix. В Windows - всё в одном винигрете - и программа, и настройки, и данные, и временные файлы. В Unix - каждый сверчок знай свой шесток - в одном каталоге только программы, в другом только данные, а в третьем - только настройки. ;)
А вообще, нужно в домашнем каталоге пользователя (каждого) хранить настройки програм, т.к. у разных людей - разные предпочтения. Всех под одну гребёнку не причешишь.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 12:20:29
vitaly_l
УЖАС!!! :arrow: Диск-то, один и тот же...
Этим перераспределением - только лишний мусор на диске создаётся.
Порядок - можно и в директории программы создать, а вот в головах создателей систем...
Вырасту - всем в глаз дам! Достали УЗУРПАТОРЫ! Я им устрою кузькину мать...
Почему всех сверчков-то "на знай свой шесток"??? Давайте, лучше, на шесток посадим создателей систем...

И что же, обойти этот ГЕНОЦИД по отношению к написанию свободных программ - никак нельзя???



.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 12:45:47
Mr.Smart
vitaly_lэто сугубо ваше мнение. Приучайтесь к стилю, который принят в системе и будет вам счастье :wink:

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 14:19:04
GAMER
vitaly_l писал(а):УЖАС!!! :arrow: Диск-то, один и тот же...
Этим перераспределением - только лишний мусор на диске создаётся.
Порядок - можно и в директории программы создать, а вот в головах создателей систем...


Диск один, вот только пользователей много может быть. И каждый работает по своему.
Не нравятся многопользовательские ОСи - используйте DOS.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 14:42:50
alexey38
Если в командной строке вызвать команду "set", то увидите системные переменные, в том числе указываемые на нужные вам каталоги (папки). Именно так и нужно определять, где лежит пользовательская папка, а где папка с программами. Тем более, системным может быть не C:, а другой диск (редко, но бывает).

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 15:07:19
NTFS
Разделение на каталоги правильно и разумно. Это сразу дает кучу преимуществ:
1) Защита от случайных или намеренных изменений каталога Program Files
2) При резервном копировании, точно знаешь, что все данные находятся в каталоге Users (Document and Settings)
3) Защита между пользователями, домашние каталоги защищены, но все могут читать и выполнять программы из Program Files
4) Временные данные в одном месте, удобно чистить.

Реализация программы, когда все в Program Files, конечно, имеет право на существование, но выглядит очень непрофессионально и доставляет кучу проблем тем, кто эту программу сопровождает.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 16:50:52
Vadim
vitaly_l писал(а):И что же, обойти этот ГЕНОЦИД по отношению к написанию свободных программ - никак нельзя???

Ну почему же нельзя? Можно. Но будет только хуже. :)

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 17:21:42
alexey38
vitaly_l писал(а):УЖАС!!! :arrow: Диск-то, один и тот же...
Этим перераспределением - только лишний мусор на диске создаётся.
Порядок - можно и в директории программы создать, а вот в головах создателей систем...
Вырасту - всем в глаз дам! Достали УЗУРПАТОРЫ! Я им устрою кузькину мать...
Почему всех сверчков-то "на знай свой шесток"??? Давайте, лучше, на шесток посадим создателей систем...

И что же, обойти этот ГЕНОЦИД по отношению к написанию свободных программ - никак нельзя???.


Для особого мнения всегда можно работать под админом и отключать UAC. А для общего применения нужно использовать общепринятые подходы.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 20:36:04
vitaly_l
Все правы... я злой...

Объясните мне, пожалуйста, неграмотному (почти программисту)...

Всё переделал, как требуется (для общего применения)...
Целый день... е...ё... - Работает!...

Однако, если даже в не системной папке - файл создан с правами админа, то его: без прав - обработать уже никак...
Суть в том что, если получил права администратора(для инсталяции), то как теперь их(права) отменить при перезапуске "рабочей" программы???
А то она после инсталяциии пересамозапускается с правами админа и естественно: пишет всё с правами админа,
а при нормальной работе запускается без прав админа,
работает, но изменить уже ничего не может... :oops:

:!: :?: Вопрос: Как перезапустить программу - без прав Администратора???

.

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 20:44:45
alexs
А зачем при инсталяции программы запускать её?

Re: ProgramFiles, UAC, права Администратора...

СообщениеДобавлено: 10.03.2012 20:50:02
Mr.Smart
vitaly_l какие действия производим для получения админа в первый раз (при установке)?