Jump to content

How to Convert Standalone Server to Windows Service


billyChou

Recommended Posts

XE8 Enterprise / Win7 Pro

Create a new service project

 

Porject2 -> Run

 

  Project2.dpr   
  [dcc32 Error] uIdStackWindows.pas(711): E2003 Undeclared identifier: 'PIP_ADAPTER_ADDRESSES'
  [dcc32 Error] uIdStackWindows.pas(770): E2005 'PIP_ADAPTER_ADDRESSES' is not a type identifier
  [dcc32 Error] uIdStackWindows.pas(776): E2005 'PIP_ADAPTER_ADDRESSES' is not a type identifier
  [dcc32 Error] uIdStackWindows.pas(1300): E2007 Constant or type identifier expected
  [dcc32 Error] uIdStackWindows.pas(1301): E2003 Undeclared identifier: 'PIP_ADAPTER_UNICAST_ADDRESS'
  [dcc32 Error] uIdStackWindows.pas(1317): E2008 Incompatible types
  [dcc32 Error] uIdStackWindows.pas(1322): E2003 Undeclared identifier: 'GAA_FLAG_SKIP_ANYCAST'
  [dcc32 Error] uIdStackWindows.pas(1322): E2003 Undeclared identifier: 'GAA_FLAG_SKIP_MULTICAST'
  [dcc32 Warning] uIdStackWindows.pas(1322): W1024 Combining signed and unsigned types - widened both operands
  [dcc32 Error] uIdStackWindows.pas(1322): E2003 Undeclared identifier: 'GAA_FLAG_SKIP_DNS_SERVER'
  [dcc32 Error] uIdStackWindows.pas(1322): E2003 Undeclared identifier: 'GAA_FLAG_SKIP_FRIENDLY_NAME'
  [dcc32 Error] uIdStackWindows.pas(1343): E2008 Incompatible types
  [dcc32 Error] uIdStackWindows.pas(1358): E2029 ')' expected but identifier 'IfType' found
  [dcc32 Error] uIdStackWindows.pas(1361): E2017 Pointer type required
  [dcc32 Error] uIdStackWindows.pas(1362): E2015 Operator not applicable to this operand type
  [dcc32 Error] uIdStackWindows.pas(1364): E2017 Pointer type required
  [dcc32 Error] uIdStackWindows.pas(1366): E2017 Pointer type required
  [dcc32 Error] uIdStackWindows.pas(1368): E2017 Pointer type required
  [dcc32 Error] uIdStackWindows.pas(1368): E2029 '(' expected but ')' found
  [dcc32 Error] uIdStackWindows.pas(1368): E2029 'END' expected but ',' found
  [dcc32 Error] uIdStackWindows.pas(1370): E2066 Missing operator or semicolon
  [dcc32 Error] uIdStackWindows.pas(1371): E2017 Pointer type required
  [dcc32 Error] uIdStackWindows.pas(1371): E2029 'END' expected but ')' found
  [dcc32 Error] uIdStackWindows.pas(1372): E2029 'END' expected but 'ELSE' found
  [dcc32 Error] uIdStackWindows.pas(1373): E2066 Missing operator or semicolon
  [dcc32 Error] uIdStackWindows.pas(1386): E2029 ':=' expected but ':' found
  [dcc32 Error] uIdStackWindows.pas(1387): E2017 Pointer type required
  [dcc32 Error] uIdStackWindows.pas(1387): E2029 '(' expected but ')' found
  [dcc32 Error] uIdStackWindows.pas(1387): E2029 'END' expected but ',' found
  [dcc32 Error] uIdStackWindows.pas(1389): E2029 'UNTIL' expected but 'END' found
  [dcc32 Error] uIdStackWindows.pas(1390): E2125 EXCEPT or FINALLY expected
  [dcc32 Error] uIdStackWindows.pas(1391): E2017 Pointer type required
  [dcc32 Error] uIdStackWindows.pas(1393): E2125 EXCEPT or FINALLY expected
  [dcc32 Error] uIdStackWindows.pas(1394): E2017 Pointer type required
  [dcc32 Error] uIdStackWindows.pas(1395): E2029 'END' expected but 'UNTIL' found
  [dcc32 Error] uIdStackWindows.pas(1399): E2029 Declaration expected but 'FINALLY' found
  [dcc32 Error] uIdStackWindows.pas(1402): E2029 '.' expected but ';' found
  [dcc32 Warning] uIdStackWindows.pas(1405): W1011 Text after final 'END.' - ignored by compiler
  [dcc32 Error] uIdStackWindows.pas(208): E2065 Unsatisfied forward or external declaration: 'TIdSocketListWindows.FDSelect'
  [dcc32 Error] uIdStackWindows.pas(210): E2065 Unsatisfied forward or external declaration: 'TIdSocketListWindows.GetItem'
  [dcc32 Error] uIdStackWindows.pas(212): E2065 Unsatisfied forward or external declaration: 'TIdSocketListWindows.Add'
  [dcc32 Error] uIdStackWindows.pas(213): E2065 Unsatisfied forward or external declaration: 'TIdSocketListWindows.Remove'
  [dcc32 Error] uIdStackWindows.pas(214): E2065 Unsatisfied forward or external declaration: 'TIdSocketListWindows.Count'
  [dcc32 Error] uIdStackWindows.pas(215): E2065 Unsatisfied forward or external declaration: 'TIdSocketListWindows.Clear'
  [dcc32 Error] uIdStackWindows.pas(216): E2065 Unsatisfied forward or external declaration: 'TIdSocketListWindows.Clone'
  [dcc32 Error] uIdStackWindows.pas(217): E2065 Unsatisfied forward or external declaration: 'TIdSocketListWindows.ContainsSocket'
  [dcc32 Error] uIdStackWindows.pas(218): E2065 Unsatisfied forward or external declaration: 'TIdSocketListWindows.GetFDSet'
  [dcc32 Error] uIdStackWindows.pas(219): E2065 Unsatisfied forward or external declaration: 'TIdSocketListWindows.SetFDSet'
  [dcc32 Error] uIdStackWindows.pas(220): E2065 Unsatisfied forward or external declaration: 'TIdSocketListWindows.Select'
  [dcc32 Error] uIdStackWindows.pas(222): E2065 Unsatisfied forward or external declaration: 'TIdSocketListWindows.SelectRead'
  [dcc32 Error] uIdStackWindows.pas(223): E2065 Unsatisfied forward or external declaration: 'TIdSocketListWindows.SelectReadList'
  [dcc32 Error] uIdStackWindows.pas(229): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.WSQuerryIPv6Route'
  [dcc32 Error] uIdStackWindows.pas(231): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.WriteChecksumIPv6'
  [dcc32 Error] uIdStackWindows.pas(233): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.HostByName'
  [dcc32 Error] uIdStackWindows.pas(241): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.WSShutdown'
  [dcc32 Error] uIdStackWindows.pas(258): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.SetBlocking'
  [dcc32 Error] uIdStackWindows.pas(259): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.WouldBlock'
  [dcc32 Error] uIdStackWindows.pas(270): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.ReceiveMsg'
  [dcc32 Error] uIdStackWindows.pas(278): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.WSTranslateSocketErrorMsg'
  [dcc32 Error] uIdStackWindows.pas(284): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.Connect'
  [dcc32 Error] uIdStackWindows.pas(288): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.Disconnect'
  [dcc32 Error] uIdStackWindows.pas(289): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.GetPeerName'
  [dcc32 Error] uIdStackWindows.pas(291): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.GetSocketName'
  [dcc32 Error] uIdStackWindows.pas(294): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.GetSocketOption'
  [dcc32 Error] uIdStackWindows.pas(296): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.SetSocketOption'
  [dcc32 Error] uIdStackWindows.pas(299): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.IOControl'
  [dcc32 Error] uIdStackWindows.pas(300): E2065 Unsatisfied forward or external declaration: 'TIdStackWindows.SupportsIPv6'
  [dcc32 Fatal Error] uIdStackWindows.pas(301): E2226 Compilation terminated; too many errors

 

 

Thanks

Link to comment
Share on other sites

Convert OK.

 

Sample

Copy Create ServiceModule.* to DBDemo

----------------------------

program
  DBDemo;

uses
  SvcMgr,

  MidasLib,
  uniGUIISAPI,
 // Forms,   /
  ServerModule in 'ServerModule.pas' {UniServerModule: TUniGUIServerModule},
  MainModule in 'MainModule.pas' {UniMainModule: TUniGUIUserSession},
  Main in 'Main.pas' {MainForm: TUniForm},
  ServiceModule in 'ServiceModule.pas' {UniServiceModule: TUniGUIService};


{$R *.res}


begin

  if not Application.DelayInitialize or Application.Installing then
    Application.Initialize;
  Application.CreateForm(TUniServiceModule, UniServiceModule);
  Application.Run;
end.

-----------------------------------------------

Command Line

DBDemo.exe -install  ->[msg]  Service install sucessfully

 

Service manager find [serviceModule.pas->Name]

 

 

Net Start [serviceModule.pas->Name]

 

Net Stop [serviceModule.pas->Name]

 

DBDemo.exe -uninstall -> [msg]  Service uninstall sucessfully

 

 

Thanks  skepsis

Link to comment
Share on other sites

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...