-
Есть идеи как сделать? Пока у меня только одна, запустить себя же "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. Ну переделали за полчаса, чтоб лог хранился в аппдате, все довольны остались.
-
> [19] брат Птибурдукова (09.01.13 23:45) > Да вообще-то уже месяца три тройка в статусе stable,
Во, точно! Я вообще-то регулярно заглядываю на сайт, наверно, не 3, а 1 месяц, как стабильная.
-
> sniknik © (09.01.13 16:48) [9] > > > А зачем ? > На семерке ставят в "программ файлес" выбирая опцию в сетапе > "все одной директории" (ну смысл такой, а вообще там не > один параметр). >
Так значит есть инсталлятор?
-
> Ну переделали за полчаса, чтоб лог хранился в аппдате, все довольны остались. Была бы у меня "наколенная поделка" для одного юзера за неделю писанная, так бы и поступил. Но как бы, "что одному хорошо, то немцу смерть".
> Так значит есть инсталлятор? Все есть. И инсталятор, и архив, и просто файлы можно переписать, и установку не только локальную, а серверную, и клиент серверную сделать, и к юзеру привязку/права или к машине, и база выбирается из 3х возможных, и логи/инишники/ключи разносятся куда пожелают, вплоть до хранения частями на сервере/в базе/реестре... и все опционально.
Нет только одного - smart users у клиентов. И НИКАКОЙ возможности их заставить делать "как надо" (вернее как "гуру" дельфимастера напридумывали на пустом месте, вместо прочтения что требуется). Единственное что можно сделать, это сабж, - запрограммировать место на котором они "спотыкаются" для автоматических действий, чтобы только Ok жать...
Что даст знание о том что инсталятор есть? Не выдумывайте отсебятины, и не выискивайте в ней где "я дурак" (любимое занятие форумчан), лучше прочитайте вопрос. Он что неграмотно/не понятно написан?
-
> Была бы у меня "наколенная поделка" для одного юзера за > неделю писанная, так бы и поступил. Но как бы, "что одному > хорошо, то немцу смерть".
Это ты нашу софтину унизить попытался? %-) Это не наколенная поделка, это продуманная архитектура. За полчаса закодировали изменение, за какое-то время оттестировали, в конце месяца в релиз ушла к пользователям. > Он что неграмотно/не понятно написан?
Ну вообще похоже на очередное воплощение http://www.gunsmoker.ru/2008/10/x-y-z.html , только инициатор — не новичок %-)
-
> это продуманная архитектура значит это ты читать не умеешь. про "прав нет" было до твоего вступления, с глупыми предложениями... у меня то что ты описал даже не возникло, т.к. предусмотрено. странно продуманная архитектура. > Ну вообще похоже на очередное воплощение http://www.gunsmoker.ru/2008/10/x-y-z.html , только инициатор — не новичок %-) ??? что такого в вопросе заставляет так думать? ИМХО, все очевидно, есть ситуация, когда нет прав, описанная в доке кстати, с вариантами "решения" , и нужно что-то придумать чтобы юзеры по этому поводу не звонили, чтобы это было не в доке, а как-то в запрограммированном виде . где тут х где в ваших ответах y? пальцем ткни, а то в упор не вижу ни одного нового предложения (в [12] фактически пересказан вариант "моего" описанного в [0] решения). и кстати Rouse_ © (09.01.13 13:56) [2]> Временное повышение прав как-то через комсервак делают, который крутится в отдельной нити. Почитал. В принципе представляю о чем речь, но не пойдет. COM придется регистрировать до всего, т.е. не перед применением, а при сетапе например (есть права). Но как писал, прогу/клиента могут не устанавливать сетапом, а просто скопировать, или запустить с "расшарки"... и она должна работать. Есть еще вариант с запуском (опять запуском, ничем не лучше) от юзера локалсистем, но... это позволяет только избавится от запроса логина/пароля и все, а это не цель. + не надежно. И все с процессом... ;( Похоже. > для нити, полностью без рестарта (AFAIK) нельзя. AFAIK теперь взаимный.
-
-
> Icacls /? Не пойдет. Сразу - Applies To: Windows 8, Windows Server 2008, Windows Server 2012 Нет XP/Vista/7-ки. XP на данный момент самая распространенная система у клиентов, после неё семерка, серверы 2008/2012 очень редки... на рабочих станциях, а "проблема" именно там.
И потом зачем менять права/разрешения самому файлу? Это же тоже должен делать привилегированный юзер... "замкнутый круг" однако получается, и лишнее действие (раз запустили процесс от админа, то зачем промежуточные действия? у него права и на просто редактирование есть... "на будущее" только? ну так, тоже, зачем? настраивают 1 раз обычно... ну может больше, но редко).
-
> Что даст знание о том что инсталятор есть? Не выдумывайте > отсебятины, и не выискивайте в ней где "я дурак"
Только то, что права пользователя нужно ограничивать, если он работает под Vista или выше. Простое копирование программы и файлов её настроек абы куда - уже не годится, как бы этого не хотелось бы. И чем дальше, тем сложнее будет обходить эти запреты.
-
> что права пользователя нужно ограничивать Оно так и есть, права ограничены, в любом случае, даже если файлы просто скопировать... копирует например админ, "владелец" файлов получается тоже он, после пользователь стартует прогу, настраивает для под себя... и не может эти настройки сохранить. До сих пор не понятно? Это и есть "проблема", что права ограничены, а для записи они требуются, и их нужно временно повысить, желательно ничего не меняя в настройках пользователя/операционки, не обойти/хакнуть/изменить /... а "законным" способом, каким является выполнение от другого пользователя например. Не? Устал одно и тоже разными словами объяснять.
> И чем дальше, тем сложнее будет обходить эти запреты. Какие запреты? Их нет. Есть "рекомендации от виндовс"/заблуждения, предрассудки программистов/админов... как бы это странно не звучало. Вот например - не хранить настройки в ини/не держать их/данные в папке программы/не копировать программы, а только инсталлировать... да винда сама на это "забивает", для каждого такого "запрета" найдется вариант, и не один, мелкософтской же программы которая его(один из) не соблюдает. Получается им можно, остальным нельзя? Почему нельзя? И зачем тогда средства (тот же "ранас") чтобы все таки было можно? Не удобно в некоторых случаях, но все таки можно!!! Если реально нельзя, то нужно вводить правило в системы, без исключений для себя любимого, а если таки можно, то сделайте это удобным для использования, и чтобы без двусмысленностей... а то из-за них система кажется ущербной, а не "запрещенной" для каких то действий.
-
> Нет XP/Vista/7-ки На семёрке есть. Мамой клянусь.
-
> Нет XP/Vista/7-ки На семёрке есть. Мамой клянусь.
А вообще icacls — всего лишь продвинутый вариант cacls, который имелся с незапамятных времён. Так что при желании удалять гланды через ухо вполне пойдёт на любой системе.
-
> На семёрке есть. а XP/виста? (2000й можно игнорировать, в минимальных требованиях у нас его нет, хотя работающие на нем вроде есть)
> лишь продвинутый вариант cacls а написанное выше почему предложенное - не вариант, ты тоже проигнорировал? или для другого названия утилиты нужно другое объяснение? без этого не доходит?
> при желании удалять гланды через ухо предложи нормальный способ... я что против что ли? нет, наоборот, принимаю любые идеи (см. вопрос) позволяющие "не через ухо" "разрулить" имеющуюся (и не зависящую от меня) ситуацию.
и заранее, заставить всех клиентов следовать канонам(или уж вернее догмам) "как оно должно быть" от "дельфиматреристов" невозможно... ну, вернее можно конечно, но чревато разрывом отношений и потере их как клиентов/денег. многие дорожат возможностью не устанавливать/не приезжать на места, а "рассылать" программу клиента скриптом например (если нет возможности оставить одну копию на сервере и запускать по ссылке, не у всех оно в одной сети).)...
-
Странный ты какой-то. Не соглашаешься с тем, что тебе пишут, но по-прежнему пытаешься здесь решить свои проблемы.
> копирует например админ, "владелец" файлов получается тоже > он, после пользователь стартует прогу, настраивает для под > себя... и не может эти настройки сохранить
Обычно пользователь сохраняет настройки "под себя" в реестре или в подкаталоге его профиля. Что в общем-то разумно, так как "под себя". А программа настройки из указанного места разве не может прочитать ? По-моему это всяко проще, чем городить огород "с поднятием прав в отдельно взятом потоке"
-
> sniknik © (11.01.13 10:04) [31] На ХР icacls нету, сacls есть, тоже мамой клянусь.
> а написанное выше почему предложенное - не вариант, ты тоже > проигнорировал? Угу. Если не доходит, что в програм файлс писать раньше не приветствовалось, а теперь просто нельзя (с оговорками, конечно, куда без них), то спорить не считаю нужным.
-
> но по-прежнему пытаешься здесь решить свои проблемы. поправка. во первых не проблемы, во вторых они уже решены по варианту из [0].
> Обычно пользователь сохраняет настройки "под себя" поправка. с чего решили что настройки пользовательские. они программные. пользовательские (это интерфейс) хранятся в базе на сервере (юзеры имеют привычку пересаживаться с места на место, а использовать перемещаемый профиль иногда проблематично... они могут и переезжать с места на место).
> А программа настройки из указанного места разве не может прочитать ? откуда взяли чтение? читается все легко, это пишется плохо...
> городить огород "с поднятием прав в отдельно взятом потоке" это было бы неплохо, в отдельном потоке, но вопрос вообще то стоит не так "что кровь из носу хочу вот это". перечитай его еще раз.
> а теперь просто нельзя да можно же, программы от мелкософт, это делают, пользователь если захочет, и имеет права тоже может (ни разу не правил/не удалял последствия неудачных анынсталов оттуда?).
p.s. "просто сборище Тещ" сами себе навыдумывали, сами с этим спорят. и проповедуют свои догмы всем, хотя сами, уверен просто, грешат с их четким исполнением.
-
>> А программа настройки из указанного места разве не может прочитать ? > откуда взяли чтение? читается все легко, это пишется плохо... + само "указанное место", путь, тоже нужно откуда то взять т.е. указать/настроить и сохранить... и опля, опять та же "проблема". нужно уже настройки указанного места записывать с повышенными правами.
-
++ уже писал, но еще раз, будет день повторов. я даже не уверен, что место куда записывается это "програм файлес". это может быть любая другая папка, даже не локальная, а "расшарка". но мне почему то упорно пытаются "донести" - "туда (именно туда!) писать нельзя"...
а мне пофигу, куда можно или нельзя, будет это делать юзер или нет. нужно просто чтобы звонков меньше было, тех на которые уже чуть ли не записи авто ответов ставят "а вы пробовали выключить и снова включить?" © сериал IT.
-
> p.s. Вот все "уходят" от ini-ников в каталоге программы, > а у меня(???) не получается.
Нормально, если ИНИ в режиме только чтения, при условии что программа в стандартном месте
-
а записать из процесса пользователя можно через CreateProcessAsUser
-
> Нормально, если ИНИ в режиме только чтения Для юзера да, но ведь понятно же, что когда нибудь, по каким то причинам, его все таки приходится записывать/перезаписывать... иначе какой вообще в нем смысл? Если содержимое неизменно, то вшил его в прогу константами да и все. "Проблем" нет.
У меня такой момент "перезаписи" наступает при переходе пользователя с тестового режима в "боевой".
-
Тогда входишь как администратор, можно через RunAs
-
> Тогда входишь как администратор, можно через RunAs Если бы админил/работал с программой я то так бы и сделал. Но я не работаю программой, я ее пишу, а работают клиенты во всех концах страны, они вместо "входишь как" начинают звонить в поддержку (и им по полчаса объясняют как нажать правой кнопкой мыши, что такое правая кнопка/пункт меню/почему нужно жать на ярлыке именно нашей программы и т.д., а у кого реально проблема не могут дозвонится...).
... для не читавших - в итоге у меня теперь (со вчерашнего дня) этот "RunAs" "встроен" в программу, при ошибке доступа (5) предлагается его запустить, ничего искать не нужно просто согласится.
-
> что такое правая кнопка/пункт меню/почему ... Кстати, был случай, клиент сказал, что у него нет такого пункта меню (много раз переспрашивали туда ли попал, перечислял имеющиеся пункты )... ??? Его что можно убрать "админкой", или он просто ошибся и упорствовал? (из реестра скорее всего можно снести, но это не админский запрет) И если можно убрать/запретить, то что будет при прямом вызове?
-
Тогда правильнее сделать админовский setup, Vista/W7 это автоматом Есть также возможно помещать программу в отдельную папку и права на запись только для нужных файлов. Я также использую виртуализацию файловой системы и реестра. Тоже автоматом.
-
> Тогда правильнее сделать админовский setup, Vista/W7 это автоматом Он есть, выше писал про это, и помещать в папку "с правами" возможность есть, и реестр/пере направление/... именно программных возможностей, а вот чего нет так это человеческих возможностей следовать точному регламенту для каждой.
-
> sniknik © (11.01.13 08:28) [28] > > > что права пользователя нужно ограничивать > Оно так и есть, права ограничены, в любом случае, даже если > файлы просто скопировать... копирует например админ, "владелец" > файлов получается тоже он, после пользователь стартует прогу, > настраивает для под себя... и не может эти настройки сохранить. > До сих пор не понятно? Это и есть "проблема", что права > ограничены
Коля, лично мне "твои проблемы" понятны. Сам с подобным сталкивался и до сих пор сталкиваюсь. А под "пользователями и их правами" я имел в виду пользователей "твоей программы" не важно какие права они имеют с точки зрения Windows. Т.е. без применения жестких мер административного характера к тем кто устанавливает твою программу и к тем кто ею пользуется ну никак не обойтись. Это противоречит политике МС. И даже если ты найдёшь сейчас способ сделать программу так, чтобы "пользователи" (в моём смысле) могли делать всё что угодно как в Win9x, то завтра всё равно будет облом :(
-
> чтобы "пользователи" (в моём смысле) могли делать всё что угодно Я не ищу/искал такой способ, что бы "что угодно", я ищу/искал способ "законного" поднятия прав, с вводом/логином того у кого они есть... так же как делает винда. Это вовсе не "что угодно". Наивно только надеялся, что можно обойтись без дополнительного процесса (без него можно было бы лучше, в одном контексте, ошибки обрабатывать).
> то завтра всё равно будет облом :( Если одновременно в винде перестанет работать, то это меня устраивает. Хоть сегодня.
-
> я ищу/искал способ "законного" поднятия прав, с вводом/логином > того у кого они есть...
Если у данных пользователей есть права с точки зрения Windows и знание как этими правами грамотно пользоваться, то вроде проблем быть не должно.
-
> пользователей "твоей программы" не важно какие права они имеют с точки зрения Windows. В моей программе все хорошо, какие права выставишь юзеру/группе те у него и будут, никаких не логичных (ИМХО) ограничений. Только "мой" админ, не всегда админ винды... может быть, если включена виндовая авторизация, и права программы "повешены" именно на админскую группу, а может и нет, если "серверная" или кто то решил простому виндовому юзеру "админство" в программе дать... и опять, таки, заставить "делать правильно" нельзя. Да и как правильно? Из офиса в москве не видно специфики клиентов в магадане, к приееру, чтобы им чтото навязывать.
> Если у данных пользователей есть права с точки зрения Windows и знание как этими правами грамотно пользоваться, то вроде проблем быть не должно. Их и так вроде не должно было быть, ошибка совершенно очевидная, ИМХО, но тем не менее... звонки. Видать не могут "грамотно ...". А как оно будет с изменением, посмотрим, после обновления и прошествии какого то времени. Стало еще более очевидно, ИМХО. И главное даже если не дойдет/позвонят не потребуется так много времени на объяснения, где что нажать, чтобы "запустить от".
-
> и опять, таки, заставить "делать правильно" нельзя. Да и > как правильно? Из офиса в москве не видно специфики клиентов > в магадане, к приееру, чтобы им чтото навязывать. >
Ну и ещё раз. Программист не должен заботится о такой "специфике клиентов"! Это должно разруливаться на более высоком уровне. Он просто не сможет это реализовать своими способами!
-
> Программист не должен заботится о такой "специфике клиентов"! Блин... ты не читаешь. Я и не забочусь об этом. Я(/поддержка) вижу постоянно повторяющиеся вопросы и хочу их количество минимизировать, все. Если мое "автодействие" не поможет... ну что ж, хотя бы попытался.
-
> Блин... ты не читаешь. Я и не забочусь об этом. Я(/поддержка) > вижу постоянно повторяющиеся вопросы и хочу их количество > минимизировать, все.
Да нет, читаю. И отчасти понимаю. Я ведь тоже техподдержка. Просто наверно я в виду специфики того ПО, которое я поддерживаю не могу полностью понять твои проблемы. Мне гораздо проще (чем тебе) заставить тех, кто устанавливает и работает с моим ПО действовать строго по инструкции!
-
> Да нет, читаю. да вот не похоже раз на "заставить невозможно" пишешь "нужно", или пусть "тебе проще" (причем здесь ты? вопрос "мой", если хочешь про свою "схему" задай свой).
> заставить тех, кто устанавливает и работает с моим ПО действовать строго по инструкции! у тебя есть те кто устанавливает? в смысле служба внедрения. или клиенты определены/постоянные? т.е. те кого можно раз обучить и все. у меня любой желающий(читай ламер) может скачать, попробовать... позвонить, а после решать станет он нашим клиентом или нет. не понравится = -1 клиент, не сможет вложить в свою уже существующую схему работы = -1 клиент (или подумает, что нельзя и не будет/не дозвонится до поддержки. а она как раз занята объяснением "какую кнопку нажать" чтобы настроить программу).
-
> [52] sniknik © (14.01.13 10:15) > -1 клиент
Не понимаю я тебя. При таком раскладе тем более хранить настройки там, где положено. При деинсталяции удалять, можно с запросом подтверждения.
-
> Не понимаю я тебя. я вас. аналогично. вы пытаетесь "натянуть" свои реалии на совершенно вам не известную/не описанную в вопросе специфику. зачем? в вопросе очевидно что нужно, и что возможно (зависит от меня).
> При таком раскладе тем более хранить настройки там, где положено. программа многовариантная, "где положено" хранить возможно (уже раз пять повторяю), но где хранить запись об этом самом, вот то что выбрано "как положено"? + при том, что установка в виде клиент сервера с серверной же авторизацией к локальным папкам доступа не имеет (вернее один и тот же юзер может сесть на любой доступный комп/кассу). ++ при том, что даже при варианте "где положено" (данные для программы, а не юзерские) это место может быть не доступным по тем же причинам - нет прав. бывают параноики и такие. +++ что делать если параметры поменялись в процессе (100% происходит на переводе режима работы)? "классический"(читай навязываемый) подход при сетапе записал, при инынстале удалил подходит только для "неменяемых" настройках. а это не так. вот сломался фискальник, поменяли на другой марки... и переустановка? может еще и данные удалять? ???
> При деинсталяции удалять, можно с запросом подтверждения. вообще то. деинсталляция у меня не удаляет настроек программы и данных. просто сообщает где они и предлагает удалить "руками". это административное решение "защита" от случайных удалений (потеря этой информации для клиента это потеря денег).
-
++++ настроили фискальник не персонально, а для группы (возможно если однотипные). где хранить настройки? если "под юзером" то это перенастраивать каждый комп/каждого юзера. (у одного клиента их 400... где то 20 конфигураций если "по моему" и все 400*количество юзеров могущих сесть за комп. идиотизм. но зато "как положено").
-
> [54] sniknik © (14.01.13 11:56) > но где хранить запись об этом самом, вот то что выбрано "как положено"?
После прочтения, я думаю так: надо хранить настройки расположения основного хранилища/БД и настройки железа рабочего места где-либо в достумном на запись ресурсе, в реестре в HKLU к примеру, остальное всё в основном хранилище, в котором настроены соответвующие права для пользователей. Это без поднятия прав если.
-
> в реестре в HKLU к примеру т.е. "обрекаешь" админов персонально настраивать все 400 компов под каждого возможного юзера вместо 1 файла... спасибо, очень "умное и правильное" решение. пусть не все а только место со "ссылкой" на хранение основных настроек, но даже за это очень многое "спасибо" скажут.
p.s. программист должен уметь думать, а не руководствоваться догмами.
-
> [57] sniknik © (15.01.13 08:21)
По твоим словам проблема в отсутсвии админов. Ну а коль они есть, и настройки кранятся централизовано, ссылку на их хранение зачем прописывать в недозволенные места с повышением прав, раз уж её всё равно надо прописывать. Не понимаю.
-
> проблема в отсутсвии админов. проблема в наличие звонков. при чем тут админы? да пусть они там косяками вокруг программы роятся.
> ссылку на их хранение зачем прописывать в недозволенные места с повышением прав, раз уж её всё равно надо прописывать. а других мест к сожалению нет, они все сегодня доступны, а завтра или под другим юзером нет. только на текущее юзерское место под текущим юзером есть гарантия, да и то не 100%-я.
> Не понимаю. ну, я попытался...
-
> в недозволенные места кем кстати не дозволенные? это не правда. админу практически любое место доступно. и если он куда-то, что-то записал (например при сетапе), то почему он же не имеет права это отредактировать? удобным образом.
-
> [59] sniknik © (15.01.13 19:36) > > Не понимаю. > ну, я попытался...
Ну, я тоже.
> [60] sniknik © (15.01.13 19:40) > > в недозволенные места > кем кстати не дозволенные? это не правда. админу практически > любое место доступно.
Тем же админом и по-умолчанию системой.
Установил админ из-под своей учётки, а работать будет пользователь, значит, надо при инсталяции сохранить настройки в доступном для пользователя(всех пользователей) месте. Вот об этом я. Хотя, тот же DrWeb сохраняет файл с лицензионным ключом в папку с программой без запроса повышения, ну может он, чё. Остальное хранит в ProgramData.
-
> sniknik © (14.01.13 10:15) [52] > > > Да нет, читаю. > да вот не похоже раз на "заставить невозможно" пишешь "нужно", > или пусть "тебе проще" (причем здесь ты? вопрос "мой", > если хочешь про свою "схему" задай свой).
А всё таки "нужно"! Иначе твой геморрой будет прогрессировать. Имхо.
> > заставить тех, кто устанавливает и работает с моим ПО > действовать строго по инструкции! > у тебя есть те кто устанавливает? в смысле служба внедрения. > или клиенты определены/постоянные? т.е. те кого можно раз > обучить и все.
Есть те, кто купил. А уж они сами разберутся кому поручить установку.
> у меня любой желающий(читай ламер) может скачать, попробовать. > .. позвонить, а после решать станет он нашим клиентом или > нет. не понравится = -1 клиент, не сможет вложить в свою > уже существующую схему работы = -1 клиент (или подумает, > что нельзя и не будет/не дозвонится до поддержки. а она > как раз занята объяснением "какую кнопку нажать" чтобы настроить > программу). >
А вот тут ты сам себе создаёшь лишние проблемы. разрешая этому ламеру работу ака Win9x
-
> Тем же админом и по-умолчанию системой. а у меня типа кухарки телефон раскаляют... и когда пишу про "нужность" ввода логина/пароля для поднятия прав, я конечно имею в виду дворника дядю Васю. (сарказм)
> а работать будет пользователь, значит, надо при инсталяции сохранить настройки в доступном для пользователя(всех пользователей) месте. Вот об этом я. а я, уже в очередной 101 раз..., речь про настройки не пользователя, они в базе с ними проблем нет, а программы... разница однако. и сохраненные при инсталяции, в 55 раз, как минимум один раз обязательно меняют. причины не важны (хотя их можно "нарыть" выше). от домыслов про пользователя уже устал открещиваться, откуда вы только его взяли?
> Хотя, тот же DrWeb сохраняет файл с лицензионным ключом в папку с программой без запроса повышения, ну может он, чё. я тоже могу... но не хочу. причины писал. нужно именно правильно "как винда". кстати DrWeb-у это элементарно, у него сервис с максимальными правами тут же на компе крутится. добавил метод + взаимодействие с клиента и всех делов. у меня такое пройдет только в 1 из вариантов установки.
и блин. все давно сделано! не как хотелось, а как возможно. дурная привычка объяснять...
-
> А вот тут ты сам себе создаёшь лишние проблемы. разрешая этому ламеру работу ака Win9x хочешь поставь сам. я тебе и прогу скину, и самый распространенный вариант установки опишу. не ламер? поставишь "своим" методом на 80 компов к примеру. сравнишь с описанным.
-
> А вот тут ты сам себе создаёшь лишние проблемы. чем меньше думает программист, тем квалифицированнее должна быть поддержка.
-
-
> sniknik © (16.01.13 02:45) [63] > > > Тем же админом и по-умолчанию системой. > а у меня типа кухарки телефон раскаляют...
Коль, ты меня извини, но похоже не всё ладно в вашей системе поддержки. Если "кухарки" раскаляют телефон техподдержки, а техподдержка ищет в ответ некие "нестандартные" решения, то это тупик! А точнее - бесконечная рекурсия.
-
Anatoly Podgoretsky © (16.01.13 03:10) [66] 3 года назад делалось в соответствии с подобной (не конкретно этой, хотя возможно) рекомендацией. но жизнь вносит свои коррективы. и если стоит выбор отойти от виндовых рекомендаций (там же не приказы, типа или так или смерть) или потерять клиента с 10% (например) обшей выручки на которую контора живет... догадайтесь что выберут. подсказка нужна?
> Если "кухарки" раскаляют телефон техподдержки подпись "сарказм" не понял? или предпочел принять за буквальность сознательно?
> а техподдержка ищет в ответ некие "нестандартные" решения, то это тупик! решение стандартное! винда сама так делает (есть же у нее меню "ранас", и даже если работаешь из под админской учетки полные права получаешь только через "запустить от администратора") а хотя да, винда это тупик. согласен.
> А точнее - бесконечная рекурсия. программа или развивается (бесконечно) или умирает.
> ты сам себе создаёшь лишние проблемы. еще раз согласен... написал же я сюда, "посоветовался" блин.
-
> [68] sniknik © (16.01.13 08:27) > написал же я сюда, "посоветовался" блин.
Да мы понять пытаемся.
-
> Да мы понять пытаемся. врешь. пытаются не так.
-
> sniknik © (16.01.13 17:38) [70] > > > Да мы понять пытаемся. > врешь. пытаются не так. >
А как нужно?
-
-
> sniknik ©
все беды от непонимания того, как нужно хранить настройки в системе, могу порекомендовать внимательно изучить эту статью http://msdn.microsoft.com/ru-ru/library/windows/desktop/bb762494(v=vs.85).aspx особенно внимательно прочитать про CSIDL_COMMON_APPDATA иначе с вашим упертым подходом огребете в win8 еще и проблем с UAC (если уже не огребли частично в висте/7), т.к. там его отключить вообще нельзя.
-
> А как нужно? ну как минимум не фильтруя речь собеседника оставляя только удобное себе для спора, и даже игнорируя смысл вплоть "до наоборот"... (ну, пример, сарказм это издевка, слова сказанные с сарказмом по контексту имеют противоположны смысл... понять их буквально... ну это "не заливная рыба")
> иначе с вашим упертым подходом огребете в win8 еще и проблем с UAC "наш упертый подход" наоборот решает проблему с UAC, т.к. делает все стандартным образом (винда также "переспрашивает" в подобных случаях, и действует теми же средствами), сам бы читал внимательнее прежде чем давать очередной "догматический" совет. и + 1 пока до касс дойдет "восьмерка"... ее уже "опустят", скажут "кривая была система" и выпустят другую, а то уже и пару, типа покупайте ее, она лучше. 2 проверили, все ок, на одно окно в подтверждении больше и все.
еще один, 101 последний китайский раз. отвлекитесь от настроек, програмфайлов, "appдат" и прочего (вами выдумангог, т.к. у меня такой вариант это 1 возможность конфигурации из 10...n). проще, берем блокнот, открываем там файл созданный Машей (владелец) и лежащий в "файлопомойке" в сети, редактируем его, пытаемся сохранить, а мы Петя, не владелец, и нет прав на изменение в расшарке... что будет? разве блокнот "кинет ошибку" и скажет "заходите после когда права будут"? нет, он предложит сохранить результат работы/изменения в другой файл, в другом месте, доступным с правами Пети. и разбирайтесь после (типа заходите под Васей и меняйте один файл на другой, если считаете нужным). чем описаная у меня ситуация отличается от вот этой? а ничем, только замена Пети на Васю делается в контексте записи, т.к. однозначно файл с другим именем не нужен. что тут УЖАСНОГО? по вашему "файлопомойки" запретить, доступ Пети к файлам Маши запретить(разграничить) пусть сам свои файлы с 0 набивает, Машу за то что в неположенное ей место (в расшарку для всех, а не лично для нее выделенное место) файл положила выпороть... p.s. читаю ваши "советы" такое впечатление что вы с ума посходили (как знаете у некоторых глаза выпучиваются и они начинают слюной брызгать стоит обмолвится (выписывая рецепт), что вот это лекарство наркотик... сразу "да вы что! наркотики нельзя!". а без этого знания трескала свои таблетки и ребенка ими кормила (без посещения врача)), вот вы похожи. неважно что так делают, неважно ... да вообще все, т.к. упомянуто СТРАШНОЕ СЛОВО.
-
sniknik © (17.01.13 08:32) [74]
Ты Д'Артаньян, спору нет
-
> sniknik © (17.01.13 08:32) [74]
> еще один, 101 последний китайский раз. > отвлекитесь от настроек, програмфайлов, "appдат" и прочего > (вами выдумангог, т.к. у меня такой вариант это 1 возможность > конфигурации из 10...n). > проще, берем блокнот, открываем там файл созданный Машей > (владелец) и лежащий в "файлопомойке" в сети, редактируем > его, пытаемся сохранить, а мы Петя, не владелец, и нет прав > на изменение в расшарке... что будет? разве блокнот "кинет > ошибку" и скажет "заходите после когда права будут"? нет, > он предложит сохранить результат работы/изменения в другой > файл, в другом месте, доступным с правами Пети. и разбирайтесь > после (типа заходите под Васей и меняйте один файл на другой, > если считаете нужным). > чем описаная у меня ситуация отличается от вот этой? а ничем, > только замена Пети на Васю делается в контексте записи, > т.к. однозначно файл с другим именем не нужен. > что тут УЖАСНОГО? по вашему "файлопомойки" запретить, доступ > Пети к файлам Маши запретить(разграничить) пусть сам свои > файлы с 0 набивает, Машу за то что в неположенное ей место > (в расшарку для всех, а не лично для нее выделенное место) > файл положила выпороть... > p.s. читаю ваши "советы" такое впечатление что вы с ума > посходили (как знаете у некоторых глаза выпучиваются и они > начинают слюной брызгать стоит обмолвится (выписывая рецепт), > что вот это лекарство наркотик... сразу "да вы что! наркотики > нельзя!". а без этого знания трескала свои таблетки и ребенка > ими кормила (без посещения врача)), вот вы похожи. неважно > что так делают, неважно ... да вообще все, т.к. упомянуто > СТРАШНОЕ СЛОВО.
плохо описана изначальная задача. так до конца и непонятно, нужны ли права админа или не нужны? какие права у этого пети с колей? зачем программе сохранять настройки в какое-то другое место (разные места), если они глобальны для всех пользователей (т.к. настройки пользователя хранятся в БД)? зачем админские права для простого сохранения настроек?
-
> плохо описана изначальная задача плохо читали написанное.
> так до конца и непонятно а зачем понимать? понимание "от чего" ничего не даст для "решить вот это".
> нужны ли права админа или не нужны? для записи да, для работы нет.
> какие права у этого пети с колей? плевать. я вообще не знаю кто это такие.
> зачем программе сохранять настройки в какое-то другое место (разные места) ну откуда то их нужно читать, не так ли? а чтобы прочитать их нужно предварительно сохранить.
> если они глобальны для всех пользователей (т.к. настройки пользователя хранятся в БД)? опять отсебятина. у пользователей настройки персонализированы. у программы одни (вот хотя бы база, акцесс или mssql используется, и что/куда/... если хотя изменить)
> зачем админские права для простого сохранения настроек? зачем зачем, не сохраняет без них, прав нет у текущей учетки. есть только у админа/продвинутого/другого/... (например пользователя). действия - предупредило, что нет, спросило "хотите админом/другим?", выбрали учетку ввели ее пароль, сохранили, дальше продолжаем работать юзером. что не понятного (/ужасного)?
-
> sniknik © (17.01.13 19:08) [77]
> что не понятного (/ужасного)?
примерно понятно теперь, а из ужасного - решение. здесь напрашивается как-минимум корректных решения. выбор нужного зависит от того, как реализована в программе работа с настройками.
1. Настройки по умолчанию зашиты непосредственно в класс/метод, реализующий эти самые настройки. если программа не обнаружила нужного значения в C:\ProgramData\YourSoft\config.ini - устанавливается значение по умолчанию.
2. Настройки по умолчанию в программу не зашиты, а хранятся в файле config.defaults.ini, который находится в папке с программой. При обращении к настройкам программа проверяет, существует ли файл C:\ProgramData\YourSoft\config.ini, если нет - копирует на его место файл config.defaults.ini из папки с программой (доступ на чтение для этого файла есть).
И не нужно никаких заморочек с правами и runas.
-
> а из ужасного - решение. ты про него ничего не знаешь. про мое решение... то что у тебя есть это твои выдумки о нем. очевидно.
... много написал (чуть ли не статью), потом решил, да ну его нафиг. все одно не дойдет. т.что буду краток. только критика.
> 1. ... файл локально на компе, прикажешь админу обойти/пере подключиться к 400м/хххм компам чтобы разложить везде 1 файл? дефаулты вшитые в программу есть, но они для "на попробовать", а изменение в основном для смены тестового режима.
> 2. ... тиражирование из общего места в локальное... осмелюсь спросить, а НАФИГА? ведь с чтением проблем нет, если один раз прочитал, то и еще 108...ххх следующих оттуда же не проблема. "проблема" вот в этот общий, в который у тебя видимо чудом данные попадают, внести изменения. для всех.
> И не нужно никаких заморочек с правами и runas. да боже ж мой, что с вами "страшное слово" делает, любую муть/чудеса за уши притягиваете лишь бы не признать очевидное.
+ поменяешь мнимые (права и runas это просто... ~ 20 строк) заморочки на реальные. менять может только админ/назначенный юзер, а кассирам обычно права режут по максимуму, и он будет персонально на каждый комп гонять после реализации твоей гениальной "схемы обхода runas-а"? не, оно полезно конечно, для здоровья, но не до такой степени... (и даже не начинайте про RAdmin/RDP/... знаю я вас. нельзя. точка.)
-
> sniknik © (17.01.13 23:19) [79]
> ты про него ничего не знаешь. про мое решение... то что > у тебя есть это твои выдумки о нем. очевидно.
так клещами выпытывать про решение что ли? все выводы по написанному в этой ветке.
> файл локально на компе, прикажешь админу обойти/пере подключиться > к 400м/хххм компам чтобы разложить везде 1 файл? дефаулты > вшитые в программу есть, но они для "на попробовать", а > изменение в основном для смены тестового режима.
стоп, так файл в шаре должен находится что ли? так с этого и надо было начинать, а не х*ми всех крыть вокруг ), при чем здесь програм файлс тогда вообще? и про права там совсем другая история. с каких пор програм файлс стали общей папкой?
здесь можно порекомендовать использовать облачный сервис типа dropbox.
-
> "наш упертый подход" наоборот решает проблему с UAC, т.к. > делает все стандартным образом
Ну раз решение уже найдено и оно полностью устраивает и (главное) оно реально работает, то я самоустраняюсь из ветки.
-
> так клещами выпытывать про решение что ли? c [0] оно не изменилось - > sniknik © (09.01.13 13:26) > Есть идеи как сделать? Пока у меня только одна, запустить себя же "RunAs" (с запросом логина/пароля как полагается) и передать туда данные на запись... только вместо идеи стало кодом.
> стоп, так файл в шаре должен находится что ли? плевать где, раз пять говорил. я это не контролирую. на усмотрение местных админов. шара равновероятное с програм файлес/или произвольной выделенной директорией на которую у одного больше пров чем у другого.
> так с этого и надо было начинать так и начал. ли вот это, например, не то? sniknik © (09.01.13 19:36) [17] > т.к. сталкиваюсь только с результатом (звонки), а не с собственно настройкой/установкой. > Вполне может быть, что ставят и не в "программ файлес", а в директорию по умолчанию, просто под админом, а настраивают/работают после под юзером (работать правильно, а вот для настроек зависит от прав юзера). на что последовало про не правильную нашу работу с клиентами и т.д. >> Я все-таки не понимаю. > Не привязывайся к конкретным директориям, и все встанет на свои места.
> при чем здесь програм файлс тогда вообще? предположение о причине. проверенное. т.к. установка туда, дает нужный эффект.
> и про права там совсем другая история. да ну? про права всегда одна и та же история - у одного они есть у другого нет. даже если "тот другой" это тоже ты (о понижении прав работающим под админской учеткой). никаких других историй не знаю.
> с каких пор програм файлс стали общей папкой? опля, а с чего нет? при варианте установки на один комп, для разных юзеров.
> здесь можно порекомендовать использовать облачный сервис типа dropbox э... у меня прям руки опускаются. а настройку о выборе, что работа с "dropbox"/"что то типа" куда писать? и не нужны ли будут опять права на ее запись? т.е. + дополнительная прослойка и айда на второй круг "обсуждений". это кроме того, что интернет, он не всегда у всех есть.
-
+ > с каких пор програм файлс стали общей папкой? общая <> шара. у тебя контекст поменялся.
-
Если есть инсталлятор, то надо при установке создать этот ini-файл с дескриптором защиты, разрешающим запись ограниченным юзерам, ну или вообще всем. По-моему любой инталлер умеет, да и кодом сделать элементарно. А вообще правильно тут говорили -нефиг программе писать в Program files.
-
еще один с "круглыми глазами" от "страшного слова" даже без попытки вникнуть в смысл. и почему в теме вообще упоминается "Program files"
начать сначала?
> А вообще правильно тут говорили -нефиг программе писать в Program files. МС офис стоит? мс скл? ... нафиг их все, с виндой заодно, т.к. "нефиг программе писать в Program files", а это же тоже программы. или все таки чуть мозгами попользоваться начать думать и понять разницу между пользовательскими и программными настройками.
-
p.s. вот говорят для решения проблемы нужна информация... ничего подобного! чем больше объясняешь/примеров/вариантов разных возможных приводишь тем больше возможности у "оппонентов" ее исказить/понять не правильно/"выцепить" из всего не смысл но "страшное" и отсюда - поспорить и "поучить жизни".
надо было просто, без примеров, объяснений почему и для чего и т.д, просто типа - "есть файл без доступа при текущих правах, нужно дать эти права" и все. ... хотя, тогда были бы другие придирки.
-
Удалено модератором
-
Удалено модератором
-
> До элементарного и очевидного решения с дескриптором защиты ????
> Чего туда ms office пишет, пользовательские настройки? юзерские документы? > чуть мозгами попользоваться начать думать и понять разницу между пользовательскими и программными настройками. речь с самого начала, и раз 8 уже повторялось, о настройках программы. не юзеров/их документы.
> А вообще мне пофиг до твоих проблем, гуляй, "умник" проблемы??? [0] начинается с решения, и предложения обсудить/подкинуть других идей.
> Блин, не был здесь года три, и правильно делал поддерживаю, еще 3 года погуляй где нибудь.
-
> Чего туда ms office пишет именно это, например - DOC.CFG (ну да ini в cfg переименовали)
[Description]
MessageClass=IPM.Document
DesignerRuntimeGuid=
CLSID=
DisplayName=Документ
Category=Стандартная
Subcategory=Форма
Comment=Используется для создания документов.
LargeIcon=docl.ico
SmallIcon=docs.ico
VersionMajor=1
VersionMinor=0
Locale=rus
Hidden=1
Owner=Microsoft
ComposeInFolder=1
[Platforms]
Platform2=NTx86
Platform9=Chicago
[Platform.NTx86]
CPU=ix86
OSVersion=WinNT3.5
[Platform.Chicago]
CPU=ix86
OSVersion=Win95
[Properties]
[Verbs]
Verb1=1
[Verb.1]
DisplayName=&Открыть
Code=0
Flags=0
Attribs=2
[Extensions]
Extensions1=1
[Extension.1]
Type=30
NmidPropset=
NmidInteger=1
Value=1111110010000000
-
Удалено модератором
-
> > Чего туда ms office пишетименно это, например - DOC.CFG > (ну да ini в cfg переименовали)
О как :) И какой-же из этих параметров юзер может менять во время работы?
-
> Не знаешь что такое дескриптор защиты? Не умеешь его менять? Настраивать? А гуглем пользоваться умеешь? не знаю нафига он мне, в моем случае. и каким боком применять, нужно же от "бесправного" юзера (на исходной) писать.
> которые может менять юзер? речь о админе, а не юзере. иначе он не сможет пользоваться "ранас", и да, админ может работать под юзерской учеткой. нес па?
> О как :) И какой-же из этих параметров юзер может менять во время работы? про время работы ты тоже сам придумал (а еще обижаешься на сравнение/цитату о не читающих), у меня речь о переходе/перенастройке с тестового режима на "боевой", или смене оборудования (фискальника) после поломки/его драйвера, или ... не помню уже что приводил, что нет. в общем о нестандартной ситуации (кроме перехода, она как минимум раз бывает у каждого).
т.е. у меня полный аналог приведенного файла мс, содержимое только другое, но по сути оно самое.
-
> дескриптор защиты? что то кажется речь должна идти больше о привилегиях, а не свойствах объекта... и не буду ничего объяснять :), во избежание "вывертов".
-
> > Не знаешь что такое дескриптор защиты? Не умеешь его менять? Настраивать? А гуглем пользоваться умеешь? > не знаю нафига он мне, в моем случае. и каким боком применять, нужно же от "бесправного" юзера (на исходной) писать.
ну так файл изначально создаётся админом, у которого все права есть. Вот в этот момент и можно установить файлу дескриптор, в котором чтение и запись разрешены ограниченным юзерам. Именно в ней и будет админ, вошедший без элевации. В наше время(с) это большинство инсталляторов умели, да и кодом это делается элементарно.
Если нужно вручную папку переносить, то при первом запуске после переноса можно проверить дескриптор и при необходимости добавить ACE. Но если нужна таки защита от обычного юзера, то лучше требования запустить от имени админа ничего не придумаешь.
Ну а так, ЕМНИП, есть функция CredUIPromptForCredentials (CredUIPromptForWindowsCredentials), если не путаю за давностью лет. Но она не вполне безопасна, если опять же не путаю. Да и с LogonUser на старых системах будет облом. Впрочем, вместо неё можно вроде было LsaLogonUser задействовать, но дальше моя память двигаться отказывается 😊
-
И да, ещё вспомнилось - если это админ без элевации, то в его маркере есть ссылка на полный маркёр, и его оттуда можно вытащить, ну а дальше - стандартная имперсонация должна сработать. Для запуска новых процессов не годится, а вот для записи файлов должно пройти.
-
> ну так файл изначально создаётся админом, у которого все права есть. файл изначально "неизвестной природы", вариант (описанный ранее как и остальное) - сетевая установка с копированием в расшаренную папку файлов клиента на одном компе, и попыткой изменить/перенастроить с другого компа.
> В наше время(с) это большинство инсталляторов умели, да и кодом это делается элементарно. "мой" инсталятор (inno setup) умеет, сервис от него ставится "влегкую", но блин, "проблема" вообще не в том на что обращаете внимания вы (участники ветки, а не конкретно ты). прописать в сетапе манифесте программы повышенные права нет проблем... но нельзя, это будет не правильно, что работать нужно только админом. и другие манипуляции правами тоже неправильно, т.к. это дело админов настраивать права. и т.д. программе которая "мимо клиента" начинает рулить настройками компа/правами по собственным резонам, место в корзине. это гораздо более существенный "проступок", чем запись в "программ файлес" которого тут все так шугаются... НЕ ИМХО.
> Но если нужна таки защита от обычного юзера, обязательно. простой кассир обычно "туп" в делах системы.
> то лучше требования запустить от имени админа ничего не придумаешь. ну так, в [0] это и было "как идея", единственное не требование, а предложение прямо из старой копии программы. (не все админы админы, и домохозяйка может программу поставить/посмотреть/... и т.д. неограниченно)
> Ну а так, ЕМНИП, есть функция CredUIPromptForCredentials (CredUIPromptForWindowsCredentials), если не путаю за давностью лет. > Но она не вполне безопасна, если опять же не путаю. Да и с LogonUser на старых системах будет облом. > Впрочем, вместо неё можно вроде было LsaLogonUser задействовать, но дальше моя память двигаться отказывается 😊 смысл? получить логин пароль админа/... из под бесправного юзера невозможно, чтобы выполнить нужны права, т.е. пришли к тому же "ранас" просто написанному "велосипедным" способом ничего не решив по сути.
-
> если это админ без элевации, то в его маркере есть ссылка на полный маркёр смысла "колупаться" нет, "ранас" это отслеживает, если можно "поднять права" то просто нет окна ввода логина/пароля/переключения юзера. т.е. визуально, будет то же самое, что сейчас.
|