-
Есть идеи как сделать? Пока у меня только одна, запустить себя же "RunAs" (с запросом логина/пароля как полагается) и передать туда данные на запись... Только проблема (сложность) будет с взаимодействием, обработкой возможных ошибок (передачей обратно).
А было бы неплохо, если бы была просто функция/поток/...(что то внутри самой программы)... которую можно было выполнить от имени админа с системным (это важно) запросом логина/пароля как при "RunAs". ???
p.s. Вот все "уходят" от ini-ников в каталоге программы, а у меня(???) не получается. Вариант с хранением в AppData есть... не пользуются, не удобно т.что не предлагать :). (согласен кстати, не удобно, прогу можно просто переписать без установки, а вот чтобы настроить, поддержке часть приходится объяснять как от админа выполнять. лишние звонки только)
-
Во блин, куда попал, а писал вроде в основную... перенесите плиз (у меня админки с работы нет).
-
Временное повышение прав как-то через комсервак делают, который крутится в отдельной нити. Т.е. само приложение не перезапускается. Но если честно читал только про описание данного метода, сам не реализовывал.
-
> через комсервак делают, который крутится в отдельной нити
вопрос, а права то полностью всему процессу повышают или только для нити? впрочем, то-то заумно все это...
-
> впрочем, то-то заумно все это... Вот этого как раз хотелось бы избежать. Похоже вариант с "самозапуском" (ну предупредить сначала, типа "для сохранения настроек требуются админские права перезапустить?") самый простой. Главное в поддержку обращения убрать (доки же не читают, сразу звонят, а эта ситуация одной из первых в "быстром старте" описана).
-
> передать туда данные на запись... Просто расставить уже настроенные параметры по ним в ней, и с обработкой ошибок уже пусть новая копия разбирается...
-
> brother © (09.01.13 14:05) [3] > > через комсервак делают, который крутится в отдельной нити > > вопрос, а права то полностью всему процессу повышают или > только для нити?
для нити, полностью без рестарта (AFAIK) нельзя.
-
Тогда, нужны ли эти танцы с бубном?
-
> Вот все "уходят" от ini-ников в каталоге программы, а у > меня(???) не получается. Вариант с хранением в AppData есть. > .. не пользуются, не удобно т.что не предлагать :). (согласен > кстати, не удобно, прогу можно просто переписать без установки, > а вот чтобы настроить, поддержке часть приходится объяснять > как от админа выполнять. лишние звонки только
Для внесения изменений в iniшник нужны права администратора ? А зачем ? И зачем ради этого городить зоопарк с повышением прав ?
-
> А зачем ? На семерке ставят в "программ файлес" выбирая опцию в сетапе "все одной директории" (ну смысл такой, а вообще там не один параметр). Ну вот, в XP все нормально, а семерка "защищается" :).
> И зачем ради этого городить зоопарк с повышением прав ? Как раз не хочу, хочу что то "от системы" чтобы она делала, а не я. RunAs подходит, но тут обязателен рестарт... что не особо хорошо (скрытых запусков тоже не хочется).
Вообще цель не в "нагородить", а чтобы звонков от разных "админов" с "мне программа говорит, что у меня прав на запись нет, и что делать?" было поменьше.
-
> Как раз не хочу, хочу что то "от системы" чтобы она делала, > а не я
1. ставить не в program files 2. разрешить запись в указанный каталог 3. ???? 4. PROFIT
-
1. Как контролировать пользователей программы? 2. Кто будет учить "админить"? 3. ???? 4. PROFIT это только у вас в идеальном мире, на грешной земле все немного иначе.
-
> с запросом логина/пароля как полагается А это ещё зачем? Я бы вот такими о_О глазами смотрел на софтину, которая предлагает мне пароль системный ввести.
> RunAs подходит, но тут обязателен рестарт Мне нравится, как фар себя ведёт: если надо сделать что-то, требующее повышения, то появляется окошко, запрашивающее повышение, запускается дочерний процесс, при последующих действиях, требующих повышения, используется уже запущенный дочерний процесс.
ЗЫ. А софтина 64-битная что ли? Если нет, то почему виртуализация ФС не работает?
-
> если надо сделать что-то, требующее повышения, то появляется > окошко, запрашивающее повышение,
far 1.75 (x64) подобного не наблюдал(
-
Некрофилы в треде! Описанное поведение наблюдалось в фаре 3.
-
да как-то вот так получилось)
-
sniknik © (09.01.13 18:04) [11]
Я все-таки не понимаю. Хранить в AppData неудобно, хранить в Program Files удобно, но туда писать нельзя, etc
Похоже, ты сам себе создаешь трудности и мужественно пытаешься их преодолеть. Удачи, конечно :)
-
> если надо сделать что-то, требующее повышения, то появляется окошко, запрашивающее повышение, запускается дочерний процесс, при последующих действиях, требующих повышения, используется уже запущенный дочерний процесс. Ну, я примерно так и сделал уже, проверяю запись, если нет то окошко с предложением старта от админа... дальше не "по классике", родитель закрывается, но в общем похоже.
> ЗЫ. А софтина 64-битная что ли? Если нет, то почему виртуализация ФС не работает? Нет 32-битная. Почему не знаю, т.к. сталкиваюсь только с результатом (звонки), а не с собственно настройкой/установкой. Вполне может быть, что ставят и не в "программ файлес", а в директорию по умолчанию, просто под админом, а настраивают/работают после под юзером (работать правильно, а вот для настроек зависит от прав юзера).
> Я все-таки не понимаю. Не привязывайся к конкретным директориям, и все встанет на свои места. Удобно это когда все в куче, данные, логи, настройки, программы, библиотеки, ets. ну, разделенное логически внутри. Ставят по крайней мере так (и сам так делаю), хотя возможны варианты.
> Похоже, ты сам себе создаешь трудности и мужественно пытаешься их преодолеть. Удачи, конечно :) По моему, это ты меня пытаешься убедить что у меня трудности. Удачи, конечно :)
-
> [13] brother © (09.01.13 18:32) > far 1.75 (x64)
Эта версия оставлена для Win9x, а её х64 версия не знаю для кого. FAR 2 давно уже надо пользовать, скоро 3 будет.
-
> скоро 3 будет.
Да вообще-то уже месяца три тройка в статусе stable, а так альфами чуть не год уже дома пользуюсь (на работе двойка х86, ввиду необходимости использования специфичного плагина). > sniknik © (09.01.13 19:36) [17]
Вот тут глянь http://filezilla.ru/documentation/FZ_UAC . Не особо по теме, но даёт представление, куда копать. Вообще недавно столкнулись с подобной (или противоположной) байдой: внезапно выяснилось, что 64-битная версия приложения не может писать лог (рядом с собой). Аксес, мол, денайд. Все в шоке, как же так, 32-битная пишет и не жалуется, а 64-битной вдруг прав мало. Хорошо, что я оказался рядом и растолковал, что то, что 32-битная приложилка успешно пишет лог — это костыль, придуманный умным микрософтом для таких горе-программ и что запись в c:\progra~2\soft\log реально идёт в c:\users\...\VirtualStore\...\soft\log. Ну переделали за полчаса, чтоб лог хранился в аппдате, все довольны остались.
|