Calcweb.ru

Информационный портал
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как в Windows 10 Crеаtors Uрdаte запускать универсальные приложения с отключенным UAC

Исправлено: Это приложение не может быть активировано, когда UAC отключен в Windows 10

Шаги для исправления ошибки ‘ Это приложение не может быть активировано , когда UAC отключен ’.

Некоторые юзеры заявили , что при попытке открыть изображения и другие файлы с помощью приложений UWP у них появляется сообщение об ошибке “ Это приложение не может быть активировано , когда UAC отключен “. Следовательно , пользователи не могут открывать свои изображения с помощью приложения “ Фотографии ” в Windows 10 . Это сообщение об ошибке также может выскочить при запуске других приложений Windows , таких как калькулятор , Edge , OneDrive , и т . д . Появляется такое же сообщение об ошибке при открытии приложений Windows ? Если да , то ознакомьтесь с потенциальными мерами по ее исправлению ниже .

Решено : UAC мешает активацию приложения.

Включаем UAC .

В сообщении об ошибке говорится , что “ Это приложение не может быть активировано , когда UAC отключен ”, что достаточно намекает на то , что проблема кроется в настройках контроля учетных записей пользователей . Таким образом , включение UAC является наиболее вероятным решением данной ошибки . Вы можете включить его в Панели управления в Windows следующим образом .

  • Запустите “ Выполнить ” с помощью комбинации клавиш Windows + R .
  • Напишите “ useraccountcontrolsettings ” в текстовом поле и нажмите Enter . Должно открыться окошко , как на скриншоте ниже .
  • Перетащите ползунок с “ Не уведомлять меня ” до “ Уведомлять только при попытках приложений внести изменения в компьютер ( по умолчанию )”
  • Жмем OK .

Включение Параметров групповой политики UAC.

Если редакция Windows содержит Редактор групповой политики , может потребоваться снова включить контроль учетных записей с параметрами групповой политики . Чтобы это сделать , напишите ‘ gpedit . msc ‘ в окошке “ Выполнить “.

  • Зайдите в Конфигурация компьютера в левой части окна редактора групповой политики .
  • Затем зайдите в Параметры Windows > Параметры безопасности > Локальные политики > Параметры безопасности слева от редактора групповой политики .
  • Кликните на Управление учетными записями пользователей .
  • Щелкните на “ Все администраторы работают в режиме одобрения администратором ” для открытия окна политики управления учетными записями пользователей .
  • Измените значение на “ включено “.

Регулирование значения DWORD EnableLUA .

UAC не отключается на более поздних версиях Windows , даже если ползунок в панели управления контроля учетных записей стоит на “ Не уведомлять меня “. Таким образом , вам может потребоваться настроить значение ENABLELUA DWORD , чтобы исправить ошибку . Вот , как вы можете включить контроль учетных записей с помощью редактирования реестра .

  • Напишите “ regedit ” в окошке “ Выполнить ” и нажмите ОК .
  • Затем перейдите к HKEY _ LOCAL _ MACHINESOFTWAREMicrosoftwindowscurrentversionpoliciessystem в Редакторе реестра , как это показано на скриншоте ниже .
  • Щелкните на System в левой части окошка .
  • Двойной щелчок на параметре EnableLUA dword , чтобы открыть окно , как на скриншоте ниже .
  • Далее напишите 1 в поле Значение , чтобы включить контроль учетных записей .
  • Жмем OK .
  • Закройте окошко редактора реестра и перезапустите Windows .

Сброс приложения MS Store .

  • Сброс приложения MS Store зачастую помогает убрать многочисленные сообщения об ошибках приложений , так что это стоит попробовать , когда приложения UWP не открываются . Чтобы сбросить настройки MS Store , запустите Cortana из панели задач .
  • Напишите “ Powershell ” в поисковом поле , правый щелчок на Windows PowerShell и выберите “ Запустить от имени администратора “, чтобы открыть его .
  • Затем напишите ‘ Get – AppXPackage – AllUsers – Name Microsoft . Services . Store * | Foreach < Add – AppxPackage – DisableDevelopmentMode – Register “$($_. InstallLocation ) AppXManifest . xml ” – Verbose >’ в PowerShell и нажмите клавишу Enter .
Читайте так же:
Как в Windows создать и зашифровать BitLocker виртуальный диск

Откройте файлы с помощью альтернативного программного обеспечения .

Это на самом деле не метод исправления , но помните , что вы по – прежнему можете открывать изображения и другие типы файлов с помощью программ , которые не являются приложениями UWP . Сообщение об ошибке “ Это приложение не может быть активировано , когда UAC отключен ” появляется только у приложений UWP . Таким образом , вместо попытки открытия изображения приложением “ Фотографии “, откройте их с помощью альтернативного не UWP ПО , такого как FastStone Image Viewer или Paint . NET .

Вот так и получается победить ошибку “ Это приложение не может быть активировано , когда UAC отключен ” в Windows во время запуска приложений . Включение контроля учетных записей обычно убирает сообщение об ошибке . Кроме того , сброс настроек Windows к настройкам по умолчанию с помощью сброса к заводским настройкам , также может заставить приложения работать .

Как в Windows 10 Crеаtors Uрdаte запускать универсальные приложения с отключенным UAC

ДЛЯ ПРОСМОТРА САЙТА РЕКОМЕНДУЕТСЯ ИСПОЛЬЗОВАТЬ: Uran — браузер от uCoz на базе проекта Chromium. | Google Chrome | Opera | Firefox

Из них:
Пользователи: 1373
Проверенные: 19
Друзья: 5
Редакторы:
Журналисты: 8
В вечном бане : 31
Модераторы: 1
Администраторы: 3

Из них:
Парней 1131
Девушек 309

Сейчас на сайте:

ВЫ МОЖЕТЕ ВОСПОЛЬЗОВАТЬСЯ

Статьи: Общие [101]Статьи: Windows Vista [225]Статьи: Windows 7 [430]
Статьи: Windows 8 [33]Статьи: Windows 10 [336]Статьи: Windows 11 [48]
Статьи: Медицина и Здоровье [163]Статьи: Психология, Семья, Отношения [160]Статьи: Наука и Искусство [34]
Статьи: Безопасность [12]Статьи: Офис 2010 [125]Статьи: Офис 2007 [9]
Статьи: Тестирование железа [4]Статьи: Exchange Server 2010 [103]Статьи: Photoshop [76]
Статьи: Corel Draw [2]Статьи: История и Политика [5]Статьи: Реестр Windows [1]
Главная » Статьи » Статьи » Статьи: Windows 10

К ак и Windows 8.1, десятая версия системы не позволяет запускать универсальные приложения, если на компьютере отключен контроль учетных записей (UAC) . Такое ограничение установлено Microsoft из соображений безопасности, но в то же время оно может создавать дополнительные проблемы для опытных пользователей, работающих под ученой записью администратора и отключающих UAC , чтобы избежать лишних запросов на подтверждение операций.

Начиная со сборки 15063 , в Windows 10 Crеаtors Uрdаte разработчики наконец-то решили частично снять ограничение на запуск универсальных приложений в системе с отключенным контролем учетных записей. В графическом интерфейсе соответствующие опции для отключения контроля пока что нет (она может и вообще не появиться) , для изменения настроек вам нужно будет применить несложный твик реестра.

Читайте так же:
Как открыть настройки Wi-Fi роутера (личный кабинет). Что делать, если его веб-интерфейс не открывается

Нажатием Win + R вызовите окошко «Выполнить», введите в него команду regedit и нажмите ввод . В левой колонке открывшегося редактора реестра разверните следующую ветку:

Если какой-то из элементов этого пути отсутствует, создайте его вручную. В каталоге System, в правой части окна редактора найдите или создайте (если его нет) DWORD-параметр с именем EnableLUA и измените/установите в качестве его значения .

Чтобы новые настройки смогли вступить в силу, перезагрузите компьютер. После перезагрузки вы сможете запускать UWP -приложения с отключенным UAC.

После прочтения материала » Как в Windows 10 Crеаtors Uрdаte запускать универсальные приложения с отключенным UAC «, можно просмотреть форум и поискать темы по данной игре.

html-cсылка на публикацию
BB-cсылка на публикацию
Прямая ссылка на публикацию

Внимание: Все ссылки и не относящиеся к теме комментарии будут удаляться. Для ссылок есть форум.

UAC, давай дружить!

Технология UAC — не лишний компонент безопасности ОС Windows последних версий и пользователи приходят к этой мысли, борясь с malware и вирусами. Программистам, в свою очередь, стоит грамотно подходить к написанию приложений и принимать во внимание наличие такого «обстоятельства».

image

На хабре и вообще в сети много статей на тему «Как отключить UAC», «Как обойти UAC» и др. Но зачем отключать, функция ведь полезная? Зачем обходить, мы ведь не злоумышленники?

Ниже я расскажу как это делать в Вашем приложении.

Манифест

Для начала рассмотрим самый простой и некрасивый, по моему мнению, вариант — редактирование манифеста. Чем он плох? Тем, что подходит только для тех приложений, которым всегда нужно иметь привелегии администратора. Как это будет выглядеть? Пользователь при запуске вашего приложения получить знакомое окошко, в котором ему нужно будет подтвердить разрешение на выполнение программой действий с привилегиями администратора. И так каждый раз при запуске программы. В принципе, вариант приемлим для программ, которые запускаются нечасто и в одном экземпляре.

Сразу нужно сказать, что в автозапуск (не уверен, что всеми способами, но по крайней мере, через реестр) такие приложения помещать нельзя. Windows их просто прихлопнет на старте, не показав никакого окна UAC. Может быть, в этом случае есть смысл использовать технологии служб Windows.

Итак, реализация (взято отсюда)

  • asInvoker — уровень прав текущего пользователя (процесса-родителя). Этот вариант устанавливается по-умолчанию.
  • highestAvailable — наивысший уровень прав для текущего пользователя. Т.е. администратор получит полные права после подтверждения юзером кнопкой в окошке, обычный же пользователь ничего не получит.
  • requireAdministrator — самый интересный вариант. Всегда запрашивает разрешение или ввод авторизационных данных администратора.
Другие решения
Проверка на наличе прав

В первую очередь после запуска приложения или в тех местах, где это требуется, нужно проверить не запущены ли мы уже с правами администратора (вдруг юзер уже отключил UAC). Если это так, то большинства последующих манипуляций можно будет избежать. Проверка делается просто (да, кстати, код здесь и дальше на C#):

Запуск процесса с запросом прав

Допустим, нет у нас прав. Что же дальше? Приложение, запущенное с какими-либо правами, не может их изменить в процессе своей работы. Для выполнения действий с повышенными привилегиями необходимо запускать новый процесс с запросом прав. Как вообще это сделать:

Читайте так же:
The Bezier Game — тренажер работы с пером Photoshop и Illustrator

Но какое же приложение запускать? Здесь могут быть варианты:
1. Запуск системного приложения с параметрами. Например, вам нужно стартануть службу или изменить значение в реестре. Можно воспользоватся WinAPI или его оберткой в классах .NET, но если ваше приложение не имеет привилегий, то ничего не получится. Для запуска службы DHCP Client, к примеру, можно воспользоватся командной строкой
sc.exe start dhcp
Это самый простой и приятный вариант для выполнения служебных действий с системой, но не всегда все так просто.

2. Запуск собственного дополнительного приложения с параметрами. Допустим, вам ну очень нравится использовать WinAPI и не хочется разбиратся с системными утилитами или ваша задача не столь банальна, как приведенная выше. В таком случае вы можете написать маленькую консольную утилиту, которая будет выполнять нужные вам действия. Но это и лишние затраты времени, и необходимость поддержки дополнительной утилиты, интерфейсов взаимодействия и т.д.

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

3. Запуск еще одного экземпляра основного приложения с параметрами. Допустим, у вас есть пять простых действий, которые нужно выполнять с правами администратора. Забейте для них параметры командной строки вашего же приложения и на запуске проверяйте их наличие. Получив какой-либо из этих параметров, выполните соответствующее действие и завершите работу. Данный вариант, судя по StackOverflow является самым распространенным, по скольку код остается в рамках одного приложения, да и реализуется все просто.

4. Введение двух режимов работы приложения. Если приложению права администратора необходимы редко, то стоит ввести два режима работы: обычный и привилегированый. В обычном режиме (а мы это определяем с помощью указанной выше функции IsAdmin()) операции, требующие права администратора, остаются заблокированными, но у пользователя появляется возможность перезапустить приложение с правами админа и получить доступ к забокированному функционалу. В привилегированном режиме (IsAdmin() возвращает true) мы не блокируем функционал.

Таким образом, запрос появляется перед пользователем только один раз и в процессе подальшей работы с приложением больше не будет отвлекать. Если же пользователь отключил UAC, то об «обычном» режиме он даже не узнает.

Данный подход требует немного усилий на начальном этапе, но дальше позволяет писать приложение без каких-либо ограничений и вынесений кода в другие программы и блоки. Небольшой пример будет рассмотрен ниже.

Оформление приложений

Всем нам хочется писать стильные и красивые оконные приложения и в вопросах использования UAC без фирменного щитка на контролах ну никак не обойтись.

Читайте так же:
Как в Windows 11 сбросить значки в области переполнения

Такой щит размещается на кнопках, link-label’ах или других элементах управления, после нажатия на которые пользователь увидит запрос от UAC. К счастью, нам не придется таскать повсюду картинку, поскольку в системе, как ни странно, она уже есть и ее можно получить.

Для WinForms-приложений можно указать системе разместить иконку щита на кнопке.

Для тех, кто уже отказался от WinForms и перешел к разработке приложений с помощью WPF, также есть решение. Для того, чтобы получить ImageSource иконки и указать ее в каком-либо контроле, можно использовать следующий код.

Пример

Рассмотрим теперь маленький пример, реализующий изложенные выше принципы.
В приложении имеется кнопка, которая должна выполнять действия с правами администратора (у меня она просто отображает MessageBox). Если приложение уже запущено с правами, то мы оставляем ее доступной. Если же нет, кнопку блокируем и отображаем панельку с предупреждением и другой кнопкой, позволяющей перезапустить приложение в привилегированном режиме. На кнопке отображаем православную иконку щита.

Кроме того, окно приложения после перезапуска отображается в том же месте и с теми же размерами благодаря передаче контекста через командную строку.

Конечно, пример простейший, но он в общих чертах демонстрирует самый близкий мне подход к решению проблемы взаимодействия с UAC. Код примера на github.

Как отключить запрос UAC для определенных приложений в Windows 10?

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

Флаг RunAsInvoker позволяет запускать приложение с маркером, унаследованным от родительского процесса. Это отменяет обработку манифеста приложения и обнаружение процессов установки. Этот параметр не предоставляет привилегий администратора, а только обходит запрос UAC.

В качестве примера мы отключим приглашение контроля учетных записей для редактора реестра ( regedit.exe ). Несмотря на то, что у моей учетной записи есть права локального администратора, при запуске утилиты все еще появляется запрос UAC для подтверждения запуска.

Если программе требуются права администратора, поскольку она изменяет системные параметры или файлы, пользовательские привилегии в приложении не будут повышаться после отключения UAC. Программа по-прежнему будет работать с текущими правами пользователя, и если у вас нет прав для внесения этих изменений, программа не сможет их внести. Существует также небольшое количество приложений, которые запускаются только в режиме «Администратор», игнорируя флаг совместимости RunAsInvoker.

Отключение контроля учетных записей для программы с помощью Application Compatibility Toolkit

Нам нужно установить Application Compatibility Toolkit, который является частью Windows ADK. Загрузите последнюю версию Windows ADK для Windows 10 .

Запустите файл adksetup.exe и во время установки (программе необходим доступ к Интернету) выберите только пункт « Инструменты совместимости приложений» .

Пропустите следующее окно (режим совместимости) мастера настройки, нажав Далее . В окне исправлений совместимости установите флажок RunAsInvoker .

Вы можете убедиться, что приложение может работать без UAC, нажав кнопку Test Run .

В диалоговом окне Информация о сопоставлении вы можете указать, какие параметры приложения следует проверять (версия, контрольная сумма, размер и т. Д.). Я оставил флажки для параметров COMPANY_NAME, PRODUCT_NAME и ORIGINAL_FILENAME, чтобы избежать повторного создания файла исправления совместимости после следующего обновления Windows 10.

Читайте так же:
Что будет, если пользоваться Windows без её активации

Нажмите Finish и укажите имя файла, в который должен быть сохранен пакет исправлений совместимости, например, regedit.sdb . Этот файл будет содержать инструкции по запуску приложения с указанными параметрами совместимости.

Теперь вам нужно только применить пакет исправлений совместимости к нашему приложению. Это можно сделать либо из консоли администратора совместимости (выбрав в меню « Установить» ), либо из командной строки.

Для этого запустите командную строку с повышенными правами и выполните следующую команду:

sdbinst -q c:psregedit.sdb

Если вы все сделали правильно, появится сообщение об успешной установке пакета.

После установки пакета соответствующая запись появится в списке установленных программ Windows (Программы и компоненты).

Попробуйте сейчас запустить приложение в сеансе пользователя без прав локального администратора.Теперь это должно начаться без запроса UAC.

Теперь проверьте привилегии для запуска приложения.Запустите диспетчер задач, перейдите на вкладку «Процесс», добавьте столбец «Повышенные».Убедитесь, что процесс regedit.exe запущен от пользователя в непривилегированном режиме ( Elevated = No ).

В этом процессе редактора реестра пользователь может редактировать только свои собственные ключи и параметры реестра. Но если вы попытаетесь отредактировать / создать что-либо в системном ключе HKLM, появится ошибка: «У вас нет необходимых прав доступа».

Позже это исправление совместимости может быть распространено на все пользовательские компьютеры с помощью групповых политик. Таким образом, вы можете отключить проверки UAC для определенных приложений на нескольких компьютерах в домене Active Directory.

Чтобы удалить исправление совместимости, выполните команду:

sdbinst –u c:psregedit.sdb

Включить флаг приложения RunAsInvoker через реестр

Вы можете включить флаг совместимости RUNASINVOKER в Windows 10 / 8.1 / 7 через реестр. Флаг совместимости приложения может быть установлен для одного или для всех пользователей компьютера.

Например, для программы Regedit приложения вам необходимо создать новый параметр реестра ( REG_SZ ) в следующем разделе реестра HKEY_CURRENT_USER Software Microsoft Windows NT CurrentVersion AppCompatFlags Слои:

  • Имя значения: C: windows regedit.exe
  • Значение данных: RunAsInvoker

Если вы хотите включить режим совместимости приложений для всех пользователей локального компьютера, вам нужно создать этот параметр в другом разделе реестра:

HKEY_LOCAL_MACHINE ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ Microsoft Windows NT CurrentVersion AppCompatFlags Layers.

В домене вы можете импортировать / развертывать эти параметры реестра для пользователей через объект групповой политики .

Bat ch файл для запуска приложения в режиме RunAsInvoker

Существует еще один способ запуска программы без прав администратора и обход приглашения UAC .

Просто создайте файл .bat со следующим кодом:

Set ApplicationPath=»C:windowsregedit.exe»
cmd /min /C «set __COMPAT_LAYER=RUNASINVOKER && start «» %ApplicationPath%»

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

Итак, мы рассмотрели, как отключить UAC для конкретной программы без полного отключения контроля учетных записей. Это позволит вам запускать программы Windows без прав администратора без запроса UAC и без ввода пароля администратора.

голоса
Рейтинг статьи
Ссылка на основную публикацию