Исполняемый файл, не запрашивающий повышенных прав, когда часть проекта развертывания - PullRequest
2 голосов
/ 13 сентября 2011

Я создал исполняемый файл, который вызывается другим приложением для процессов, которым требуются повышенные привилегии UAC. Если я собираю этот проект с помощью нижеприведенного манифеста, он запрашивает UAC в порядке, если я добавляю вывод этих проектов в свой проект установки, он создает его без UAC? ​​

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
   <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="CreateApp" type="win32"/>
   <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator"/>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

Есть идеи, почему это так, или если это возможно, как часть проекта установки с манифестом?

1 Ответ

1 голос
/ 21 сентября 2011

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

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

не используете EXE как пользовательское действие, и вы просто запускаете его из другого процесса, убедитесь, что вы используете ShellExecute .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...