Also ohne den Registryeintrag geht es nicht, da sich hier das E-Log die Information herholt wie der Eintrag für den Service erstellt werden soll.
Der erste Block in dem Code:
Delphi-Quellcode:
if Reg.OpenKey(STR_REGKEY_SVC + self.Name,False) then
begin
ImagePath:=Reg.ReadString(STR_REGVAL_IMAGEPATH);
Reg.WriteString(STR_REGVAL_CONFIGFILE,ExtractfilePath(ImagePath) + TWD_Config.GetDefaultConfigFileName());
Reg.CloseKey;
end;
Erzeugt in meinem Programm nur einen weiteren Key für meine Konfigurationsdatei. Den brauchst Du nicht!!!
Was Du aber brauchst ist dieser Block, der den Verweis auf die Datei mit der Ressource gibt:
Delphi-Quellcode:
if Reg.OpenKey(STR_REGKEY_EVENTMSG + self.Name,True) then
begin
Reg.WriteString(STR_REGVAL_EVENTMESSAGEFILE,ExtractfilePath(ImagePath) + NWDServiceEventDLLName);
Reg.WriteInteger(STR_REGVAL_TYPESSUPPORTED,7);
Reg.CloseKey;
end;
Wobei du anstatt NWDServiceEventDLLName = 'WDEventLogMsg.dll'; im String den Namen deiner Service-Exe angeben musst. Die Variable kannst Du natürlich auch umbenennen