7zip - самораспаковывающиеся исполняемые файлы требуют прав администратора и вызывают предупреждение о совместимости

Когда я создаю самораспаковывающиеся архивные исполняемые файлы для Windows с помощью 7zip,.EXE запускает UAC в Windows7. И часто после распаковки я получаю это:

введите описание здесь

Я использую командную строку как: 7z a -sfx7z.sfx dir\, Почему это происходит, и могу ли я их исправить?

2 ответа

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

  1. Откройте диспетчер служб (нажмите + R, тип services.msc и нажмите Enter).
  2. Ищи Program Compatibility Assistance Service в списке.
  3. Щелкните правой кнопкой мыши по этой услуге и выберите Stop,
  4. Теперь снова щелкните правой кнопкой мыши на Program Compatibility Assistance Service и выберите Properties,
  5. Под General вкладка в Startup type нажмите раскрывающееся меню и выберите Disabled,
  6. Нажмите на Apply затем OK,

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


Другая probable solution чтобы встроить файл манифеста, чтобы избежать этого предупреждения. Что-то вроде этого:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
  <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1"> 
      <application> 
        <!--The ID below indicates application support for Windows 7 --> 
          <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/> 
      </application> 
    </compatibility>
  </assembly>

Как встроить application manifest в мой исполняемый файл?

Вы можете использовать эту утилиту (mt.exe - при условии, что у вас установлен sdk) от Microsoft, чтобы сделать это. Вы бы использовали подобную команду, как это:

mt.exe  -manifest "foo.manifest" -outputresource:"foo.exe";#1

Другие соображения

  • Рассмотрите возможность использования этой программы (7z SFX-Creator), согласно этой странице: созданные самораспаковывающиеся архивы больше не будут вызывать оповещение PCA.
  • Посмотрите, может ли IExpress быть вам полезен введите описание изображения здесь

Ваш самораспаковывающийся архив, вероятно, содержит setup или же install в его имени файла. В этом случае Windows ожидает, что установит приложение.

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

Эта эвристика используется там, где исполняемый файл не имеет requestedExecutionLevel элемент в его манифесте.

Эти проблемы могли быть исправлены в более новой версии самораспаковывающегося модуля 7zip.

Другие вопросы по тегам