Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.08.2015, 11:14   #1
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию Программе после установки не хватает прав на запись в файл

Программа написана на Delphi, установщик Inno Setup. После установки программы на компьютер пользователя она ругается Can not create ini-файл. Отказано в доступе. Если запускать программу от имени администратора, то все в порядке.

Вопрос - как сделать так, чтобы после установки программа сама запускалась от имени администратора по-умолчанию?
Dux вне форума Ответить с цитированием
Старый 14.08.2015, 11:19   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Не размещать инишки в каталоге проги, а в месте более подходящем для этого - в Documents and Settings или что там в 7-ке и т.д. Тогда и не нужны админские права проге
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.08.2015, 11:24   #3
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Не размещать инишки в каталоге проги, а в месте более подходящем для этого - в Documents and Settings или что там в 7-ке и т.д. Тогда и не нужны админские права проге
Это единственный метод?

Или можно как-то в программе прописать, чтобы она запускалась от имени администратора?
Dux вне форума Ответить с цитированием
Старый 14.08.2015, 11:51   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Кажется в манифестах к программе можно это указать.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.08.2015, 12:14   #5
Vapaamies
Ваш К. О.
Участник клуба
 
Аватар для Vapaamies
 
Регистрация: 26.12.2012
Сообщений: 1,799
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Кажется в манифестах к программе можно это указать.
Указать можно, но это дурацкий метод. Если это обычная программа, я бы не стал ею пользоваться, ибо нефиг. Административные права -- только для администрирования.
Vapaamies вне форума Ответить с цитированием
Старый 14.08.2015, 12:17   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Согласен....
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.08.2015, 15:56   #7
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Не размещать инишки в каталоге проги, а в месте более подходящем для этого - в Documents and Settings или что там в 7-ке и т.д. Тогда и не нужны админские права проге
Замахался уже.. Перенес, теперь ini-файлы создаются в системной папке C:\ProgramData, запись в них заработала, но.. теперь другая лажа, при обновлении программы новые файлы не записываются в корневую папку программы. Инсталятор пытается заменить project.exe на новый, а ему не дают, нет прав.

Как вообще быть? как вы решаете этот вопрос со своими проектами?
Dux вне форума Ответить с цитированием
Старый 14.08.2015, 16:14   #8
саша40
Участник клуба
 
Регистрация: 12.09.2012
Сообщений: 1,030
По умолчанию

Пропишите манифест на админские права. Это система защиты Windows проверяет, что ты согласен с тем, чтобы программа делала, что захочет.
Если не сможете этот путь, то просто установить на другой раздел венчестера. К сожалению, у Windows тупая политика, что программы могут обратится к ProgramFiles только от админских прав.
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума Ответить с цитированием
Старый 14.08.2015, 16:26   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

1)инсталлер/обновлятор должен запускаться от админа.
само приложение же если ему не надо не должно их просить.

2)саша40, не надо просить повышение прав где они не нужны.
Цитата:
К сожалению, у Windows тупая политика, что программы могут обратится к ProgramFiles только от админских прав.
все верно, программа установилась и далее пусть разделяет свои данные от себя самой.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.08.2015, 19:52   #10
Dux
Delphi Master
Форумчанин Подтвердите свой е-майл
 
Аватар для Dux
 
Регистрация: 31.03.2008
Сообщений: 803
По умолчанию

Плюнул... ну ее в баню эту папку Program Files. Просто забил в инсталляторе по умолчанию другой адрес на системном диске и все. Никто не ругается и никаких прав не просит.
Dux вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Расширение прав своей программе Lauri Общие вопросы Delphi 10 09.05.2011 19:29
Как определить каких ресурсов не хватает программе? iukash Свободное общение 15 10.08.2010 16:32
не хватает условия в программе pizhon1 Общие вопросы Delphi 6 23.10.2009 09:35
языки и грамматика не хватает одного условия в программе pizhon1 Помощь студентам 1 22.10.2009 14:36
Незапускается после установки AgressiveBehavior Обсуждение статей 1 10.09.2009 18:34