Служба установки на Windows 8,10 и т. Д.
У меня проблема с установкой сервиса.
Я делаю это по умолчанию ярлык и постскриптум или /install
/uninstall
в зависимости от необходимости. К сожалению, программа генерирует ошибку, чтобы остановить действие.
Удивительно, что установка работает должным образом на старых средах.
Есть ли другой способ установить сервис?
3 ответа
Установка работала в более старых средах, когда UAC выключен (что является плохой вещью), вам всегда нужно запускать программу установки / сценарий с повышенными привилегиями (так было в Windows Vista). Вы можете включить манифест, чтобы ваше приложение / служба требовали повышения прав при выполнении с параметром / install.
Чтобы включить манифест, необходимо создать XML-файл с именем manifest.xml со следующим содержимым:
<?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="YourApplication.exe" type="*" />
<description>elevate execution level</description>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel level="requireAdministrator" />
</requestedPrivileges>
</security>
</trustInfo>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*" />
</dependentAssembly>
</dependency>
</assembly>
Затем создайте файл manifest.rc со следующим содержимым:
1 24 "Manifest.xml"
В современных версиях Delphi вы можете просто включить файл rc в проект через менеджер проекта, и Delphi автоматически включит его в качестве ресурса. В более старых версиях Delphi вам нужно вручную скомпилировать файл.rc с помощью компилятора brcc, чтобы получить файл.res.
Вы пытались работать от имени администратора? Может быть, это проблема с разрешением.
В современных версиях Delphi: нет необходимости.rc Перейдите в Меню:Проект> Параметры> Приложение> Файл манифеста: - Автогенерация - RequireAdminstrator
С наилучшими пожеланиями.