2016-05-31 1 views
0

У меня возникла проблема с установкой службы.Служба установки на Windows 8,10 и т. Д.

Я делаю это по умолчанию ярлык и постскриптум или /install/uninstall в зависимости от необходимости. К сожалению, программа генерирует ошибку, чтобы остановить действие.

Удивительно корректно работать в старых условиях.

Есть ли другой способ установить услугу?

ответ

2

Установка работала в старых средах, когда 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.

+0

Как я могу включить манифест? – Toster

+0

Delphi 10 Seattle (XE10) – Toster

+1

@Toster - у вас есть немного о том, чтобы включить манифест в приложение Delphi? whosrdaddy дал вам точно, что делать. – RBA

1

Вы пытаетесь запустить администратор? Возможно, это проблема разрешения.

+0

Да, но если у меня есть проблема с правами на Windows 7 и старше, я не получаю ошибку (например, программа xxx перестает работать), просто проблема с проблемой разрешения (код 5). В Windows 10 просто (программа xxx перестает работать) – Toster

+0

Возможно, программа не поддерживает win 10, какая программа? – Marco

+0

Программа в порядке (Delphi скомпилированная служба), но проблема связана только с установкой. – Toster

Смежные вопросы