Die Installation funktionierte in älteren Umgebungen, wenn UAC ausgeschaltet ist (was eine schlechte Sache zu tun ist), Sie müssen immer Ihr Installationsprogramm/Skript mit erhöhten Rechten ausführen (seit Windows Vista so). Sie können ein Manifest einschließen, sodass Ihre Anwendung/Ihr Dienst eine Erhöhung erfordert, wenn Sie mit dem Parameter/install ausführen.
Um ein Manifest zu enthalten, benötigen Sie eine XML-Datei manifest.xml mit folgendem Inhalt zu erstellen:
<?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>
Dann erstellen Sie eine Datei mit dem Namen manifest.rc mit folgendem Inhalt:
1 24 "Manifest.xml"
In modernen Delphi-Versionen können Sie die RC-Datei einfach über den Projektmanager in das Projekt einfügen, und Delphi fügt sie automatisch als Ressource ein. In älteren Delphi-Versionen müssen Sie die .rc-Datei mit dem brcc-Compiler manuell kompilieren, um die .res-Datei zu erstellen.
Wie kann ich Manifest enthalten? – Toster
Delphi 10 Seattle (XE10) – Toster
@Toster - Haben Sie ein wenig über ein Manifest in einer Delphi-Anwendung googlen? whosrdaddy hat dir genau gegeben, was zu tun ist. – RBA