Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.79/14: Рейтинг темы: голосов - 14, средняя оценка - 4.79
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913

Запуск программы не как администратор, а как user

11.07.2011, 13:44. Показов 3032. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Когда делаю setup программы сначала использовала для хранения(чтения и записи) всего-то 3 данных конфигурационныи фаил. Оказалось, что записывать в конфигурационный файл дозволено только администратору. Выкинула config файл. Записываю эти данные(и считываю)[
просто в текстовый файл таким образом
C#
1
            string sFoolFileOptions = Application.StartupPath + @"\Options.txt";
При debug и release все работает. Программа должна по выбору пользователя запускаться при StartUp

И тут все равно получаю ошибку "...Options.txt Access denied!" ДА что же это такое!!! HELP!!!!!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.07.2011, 13:44
Ответы с готовыми решениями:

как сделать авторизацию при запуске программы(администратор,пользователь
суть проблемы такова есть программа в ней функция редактирования бд, эта функция запускается кликнув по кнопке button1 например как бы...

Как удалить ссылку на запуск программы при удалении программы
Всем привет! Для установки - удаления программ использую такие пакеты как InstallShield и Advanced Installer. Они чётко справляются со...

Как программно получить путь к файлу конфигураций программы (файлу user.config)?
Задался целью программно очистить параметры программы, которые сохраняются в файле user.config. Так как параметров много, чтобы очистить...

16
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
11.07.2011, 14:42
Посмотри что находится в Application.StartupPath
добавь после него File.CreateText(@"C:\log.txt").WriteLine (Application.StartupPath);

Если при автозагрузке там будет windows\system32 попробуй вместо него AppDomain.CurrentDomain.BaseDirectory(ил и другие варианты)
1
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
11.07.2011, 15:16  [ТС]
m0nax, спасибо, что отвечаешь! Я совсем замучилась. А как работать с AppDomain.CurrentDomain.BaseDirectory? Так?
C#
1
            string sFoolFileOptions = AppDomain.CurrentDomain.BaseDirectory + @"\Options.txt";
Добавлено через 7 минут
Ничего не получается ...
Error "System.UnauthorizedAccsessException:Acc ess to the path "C:\pogramFiles\...Options.txt is denied...."

Добавлено через 11 минут
Сделала так
C#
1
MessageBox.Show(Application.StartupPath + @"\Options.txt");
Получила
C#
1
C:\Program Files\Soft\Pipe_7\Options.txt
Так что не system32... Что еше можно попробовать?SOS!!!
0
 Аватар для Ice_and_Fire
512 / 298 / 37
Регистрация: 22.06.2011
Сообщений: 929
11.07.2011, 15:26
Писать в C:\pogramFiles\ могут тоже только локальные администраторы.
Используй для хранения настроек например ApplicationData user-профиля
C#
1
string sFoolFileOptions =Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData);
1
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
11.07.2011, 15:40  [ТС]
Ice_and_Fire, спасибо огромное! сеичас ошибку не выдает! А что значит локальные администраторы?Чем они отличаются от просто user?
0
 Аватар для Ice_and_Fire
512 / 298 / 37
Регистрация: 22.06.2011
Сообщений: 929
11.07.2011, 15:51
Цитата Сообщение от iva_a Посмотреть сообщение
А что значит локальные администраторы?Чем они отличаются от просто user?
Члены группы Администраторы имеют доступ на запись в любую папку и ветку реестра.
Члены группы user могут читать из любого места, а писать только в папку своего профиля и ветку реестра HKCU
1
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
11.07.2011, 16:08  [ТС]
Упс, а я не знаю какои будет комп у заказчика, и как у него будет организован комп... Т.е. есть вероятность, что моя программа таким образом не поидет на любом компе?
0
 Аватар для Ice_and_Fire
512 / 298 / 37
Регистрация: 22.06.2011
Сообщений: 929
11.07.2011, 16:17
Вот как раз с моим примером-пойдет на любом компе. И для каждого пользователя будут свои копии этого файла Options.txt. А можно и единый для любого профиля, если использовать CommonApplicationData вместо ApplicationData
2
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
11.07.2011, 16:37  [ТС]
Ice_and_Fire, Спасибо большое!!!!
0
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
21.07.2011, 11:39  [ТС]
Ice_and_Fire,опять вопрос!!! Возникла необходимость дать возможность что-то поменять в фаиле

C#
1
string   fullname = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Configcommand.txt";
У меня Window7. Т.е. fullname получается
C#
1
C:\Users\Iva\AppData\Roaming\Configcommand.txt
Как найти эту папку и файл? В Iva нет папки AppData\Roaming\ или я ее не вижу? Т.е. она, конечно есть, программа-то работает, а почему-то я ее не вижу! Спасибо!
0
 Аватар для Ice_and_Fire
512 / 298 / 37
Регистрация: 22.06.2011
Сообщений: 929
21.07.2011, 11:54
Включи в проводнике просмотр скрытых папок

Не по теме:

И одно замечание - по этикету положено создавать файлы не в корне папки ApplicationData, а создать папку с именем своей программы и там уже писать.

1
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
21.07.2011, 12:20  [ТС]
Спасибо, буду теперь делать по этикету!!!
0
215 / 215 / 20
Регистрация: 18.05.2010
Сообщений: 865
28.11.2011, 21:23
а если данные не под каждого юзера то использовать
C#
1
Environment.SpecialFolder.CommonApplicationData
или для общих настроек есть еще чтото другое?
0
 Аватар для sau
2773 / 2073 / 386
Регистрация: 22.07.2011
Сообщений: 7,821
28.11.2011, 22:12
iva_a, AppData - скрытая папка, можно через консоль выйти либо в параметрах папок убрать атрибут сокрытия.
Вообще вам бы не помешало немного разобраться в вопросах безопасности и администрирования, т.к
с этим достаточно часто придется сталкиваться при программировании.
З.Ы Если приложение развертывается посредством CLickOnce то там можно настроить права через файл манифеста.,
так же есть такая технология как CAS (Code Access Security), - с ее помощью можно определится с доступными правами приложения и соответственно скоординировать его поведение. - например дружественно попросить пользователя предоставить необходимые права )
0
168 / 140 / 23
Регистрация: 02.01.2011
Сообщений: 913
29.11.2011, 10:02  [ТС]
ok, sau, что посоветуете почитать?
0
215 / 215 / 20
Регистрация: 18.05.2010
Сообщений: 865
29.11.2011, 16:59
sau, Я вообщето вопрос совсем не об этом задал )) я понимаю что есть личные настройки типа цвета меню, звуки событий и.т.п. для этого стоит создавать для каждого юзера. Но если например такие настройки как строка соединений или адрес и порт то врят ли для каждого пользователя надо дублировать или создавать свою отдельную БД )))

Добавлено через 46 секунд
а то что такое скрытая папка и.т.п. о чем вы говорите я прекрасно знаю .
0
 Аватар для s-kvv
76 / 73 / 9
Регистрация: 09.06.2010
Сообщений: 206
01.12.2011, 13:23
Как вариант, можно воспользоваться System.IO.IsolatedStorage
Тоже в ApplicationData сохраняется (в какой - зависит от того, как открыли)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.12.2011, 13:23
Помогаю со студенческими работами здесь

Как запретить запуск программы?
привет всем!:) появилась такая вот интересная идея, и хочу ее реализовать. суть проста: есть счетчик FileDate, и при запуске программы...

Запуск программы как служба?
Есть сервер. Он запускается как системная служба. Никаких параметров ему не передается. Вход от различных имен пользователей значение не...

Запуск программы как службы
С помощью утилиты nssm 2.9 создал службу запускающию программу DeskPins v1.30 . (кто не знает программа DeskPins фиксирует выбранное окно...

Как автоматизировать запуск программы
Уважаемые форумчане. У меня есть рабочая программа в маткаде. Для её запуска я нажимаю ctrl+f9. После этого я записываю вручную...

Запуск программы как службы
можно ли как-нибудь консольной командой заставить программу из файла exe запускатся как службу, или как-нибудь запретить выключать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru