У меня есть старая игра, в которую мы с женой любим играть; Я установил его на совершенно новый компьютер с Windows 10, и он прекрасно работает из командной строки и двойного щелчка по исполняемому файлу в проводнике.

Тем не менее, он всегда отображает UAC «Вы хотите, чтобы эта программа вносила изменения», когда она запускается таким образом, и я пытаюсь запустить игру без этого.

Различные инструкции указывают мне на планировщик задач: создайте задачу, дайте ей "высшие привилегии", разрешите запускать ее по требованию, затем создайте ярлык для запуска этой задачи.

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

В разделе "Общие" (в свойствах планировщика задач для этой задачи) я «запускаю только, когда пользователь вошел в систему», "запускаю с наивысшими привилегиями" и "настраиваю для Windows 10". Триггеры пустые. Действия имеют "Запустить программу" и полный путь, включая имя исполняемого файла и «.exe». В этих условиях я снял флажок "запускать задачу только при включенном питании компьютера" и не установил ни один из других флажков.

Если щелкнуть правой кнопкой мыши задачу и выбрать "Выполнить", она изменит статус задачи на "Выполнение", но больше ничего не происходит. Если я захожу в привилегированную командную строку и пытаюсь использовать «schtasks /run /tn taskName», я получаю сообщение о том, что она успешно запустила задачу, и больше ничего не происходит.

Полагаю, я должен упомянуть, что эта игра является «полноэкранной» игрой; все нормальные окна Windows исчезают, и это единственное на экране. Конечно, я не знаю, имеет ли это какое-то значение.

Еще одна странность - я подумал, что, возможно, изменение параметра по умолчанию «Запускать задачу, только если компьютер подключен к сети переменного тока» может быть проблемой, поэтому я вернулся к свойствам задачи и попытался изменить это. Когда я это делаю, я получаю что-то вроде: «Задание xml содержит значение, которое неправильно отформатировано или находится вне диапазона». В этом случае я ожидал получить ошибку при попытке выполнить задачу, но подумал, что упомяну это за то, что оно того стоит.

Игра "Цезарь III", на случай, если это будет иметь значение для всех. Как заставить это работать без приглашения UAC, через планировщик задач или иным образом?

3 ответа3

0

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

Прежде чем сделать следующее, проверьте свойства ярлыка и убедитесь, что приложение не настроено для запуска с правами администратора. Если это так, снимите флажок, и проблема должна исчезнуть. Если нет, пожалуйста, продолжайте.

UAC не плохая вещь (как раньше). Это импорт из концепции разрешений Linux, который защищает вас от вредоносных программ и пытается захватить ваш компьютер с помощью административных привилегий. Он активно контролирует папки Program Files и Program Files (x86), в которых, вероятно, установлена ваша игра, чтобы пользователь не мог установить что-то, что кажется невинным, но это не так (например, приложение для кредитного мониторинга, которое на самом деле просто для установки кейлоггер, 20 панелей инструментов, и украсть вашу личность). По этой причине я советую терпеть всплывающее окно, если вы действительно не знаете, что делаете и как обезопасить свой компьютер.

Если вы опытны в том, чтобы защитить компьютер как профессионал, или просто решили не следовать моему совету, вот как можно изменить настройки UAC:

  1. Открытая панель управления
  2. Выберите учетные записи пользователей и безопасность семьи
  3. Выберите учетные записи пользователей
  4. Изменить настройки контроля учетной записи пользователя
  5. Установите ползунок в более низкое значение или полностью, чтобы отключить контроль учетных записей.

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

0

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

Вот как работает UAC:

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

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

  • Запуск других программ с повышенными привилегиями
  • Изменение файлов других программ
  • Изменение настроек безопасности
  • Повреждение Windows

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

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

Там нет никакого среднего уровня: вы должны либо явно повышать привилегии каждый раз, либо запускать программу без повышенных привилегий. Это нормальная модель безопасности: вы не выполняете административные задачи ежедневно. В обычном рабочем процессе вы не должны слишком часто видеть UAC в действии. Если вы не используете программы, которые не заботятся о безопасности.

Поскольку программа была написана до UAC, я скорее сомневаюсь, что она "запрашивает разрешения".

Это немного сложнее, чем это.

По сути, любой процесс может запросить запуск другого процесса с повышенными привилегиями. Наиболее распространенные причины запуска программы с повышенными привилегиями:

  1. UAC манифест. Разработчики могут встраивать манифест в свои исполняемые файлы, который принудительно запускает их с повышенными привилегиями. При запуске исполняемого файла Windows проверит этот манифест и, если он присутствует, программа всегда будет запускаться от имени администратора.

  2. Атрибут UAC в свойствах исполняемого файла (или ярлыка) на вкладке « Совместимость ». Если он присутствует, Windows поднимет программу.

  3. Настройки совместимости в свойствах. Опять же, некоторые параметры на вкладке « Совместимость » в « Свойствах» могут привести к повышению привилегий. Например, включение совместимости с системами до Vista делает это.

  4. Дополнительные настройки совместимости. Compatibility Toolkit - это надстройка, которая позволяет детально контролировать некоторые функции совместимости. Опять же, некоторые из них могут привести к повышению привилегий.

  5. Стандартные политики совместимости, может быть? Я не уверен в этом, но подозреваю, что в Windows есть некоторые эвристические решения, которые определяют, какие приложения следует запускать с повышенными привилегиями, даже если они явно не включены. В Vista были некоторые функции, которые были созданы для облегчения перехода на UAC, например VirtualStore. Там может быть больше.

Скорее всего, игра запрашивает административные привилегии, потому что она использует административные функции. Тогда никто не заботился об этом. Программы помещали свои файлы повсюду: Program Files, каталог Windows, вы называете это. Это защищенные места.

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

Короче:

Если игра запрашивает повышенные привилегии, вы можете смело предполагать, что она ДОЛЖНА.

Это не просто предупреждение. Это важная часть модели безопасности.

Кстати, если вы купили игру на GOG.com, то, скорее всего, вы не получили оригинальный исполняемый файл, выпущенный в 1999 году. GOG.com исправляет свои игры, чтобы они работали на современном оборудовании и операционных системах. Возможно, они добавляют свой UAC-манифест в EXE-файл, если выяснили, что это необходимо.

-1

Попробуйте щелкнуть правой кнопкой мыши файл приложения .exe и запустите его от имени администратора.

Вы также можете щелкнуть правой кнопкой мыши ярлык приложения или файл .exe приложения -> Свойства -> вкладка "Совместимость" -> "Запуск этой программы от имени администратора" -> ОК.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .