Die Laufwerkszuweisung erfolgt erst bei der Anmeldung als User. Bei 'nem Dienst wird die nicht durchlaufen, so dass derartige Einstellungen im Dienst nicht zur Verfügung stehen.
Weißt Du wohin x: zeigt?
Wenn ja kannst Du statt X: auch die entsprechende Share nutzen, als z. B. statt x:\ora11client64 \\servername\ora11client64
Wenn der Dienst über \\servername\ora11client64 auf das Laufwerk zugreifen kann, könnte es eventuell funktonieren, wenn Du die Umgebungsvariabel Path am Anfang des Dienstes selbst erweiterst.
SetEnvironmentVariable('PATH', PChar(Format('%s;%s',['\\servername\ora11client64',GetEnvironmentVariable('PATH')])));
Zugegeben: Unschön, aber falls Ihr keine bessere Lösung findet, ist's zumindest einen Versuch wert.
Ggfls. könntest Du aber auch innerhalb des Dienstes die Laufwerksverbindung selbst herstellen:
https://www.delphipraxis.net/129771-...verbinden.html