From: Mike M. <mme...@na...> - 2010-08-03 22:06:55
|
On 8/3/2010 5:53 PM, Henry Nestler wrote: > Hello Mike, > > On 03.08.2010 22:19, Mike Mestnik wrote: >> On 8/3/2010 4:49 PM, Henry Nestler wrote: Hello Mike, >>> On 02.08.2010 18:40, Mike Mestnik wrote: >>>> Push "create" >>>> Push "Nagios Core" >>>> Push 'path="C:\Program Files\Nagios Core\colinux-daemon.exe" >>>> @NagiosCore.conf --run-service "Nagios >>>> Core";autostart=1;depend=CoLinuxDriver;display=Nagios >>>> Core;description=Nagios Core Linux Service, this service manages a >>>> running instance of linux.;' >>>> Call Service >>>> Pop $0 ;response >>> This part us ugly, wrong and will not run on all destinations. >>> >>> * Please never use "C:\Program Files\" directly! Please use the >>> install path "$INSTDIR". >>> * You should use the coLinux service installer. Or you should complete >>> adding all dependensies. You are using TAP? Then should add >>> "tap0801co". The colinux-daemon will parse your config and adds >>> dependencies automatically, if you use such device. >> Sorry to still bother, but after looking at these resources I can't seam >> to discover how this would work as an array. >> http://nsis.sourceforge.net/NSIS_Service_Lib >> http://msdn.microsoft.com/en-us/library/ms682450%28VS.85%29.aspx >> >> ";depend=tap0801co,CoLinuxDriver;" >> is my first guess. > > Think, it is not supported by this addon. > The right string for dependency names in CreateService is > "CoLinuxDriver\0tap0801co\0\0". > The delimiter between strings is "\0" and the string termination is > "\0\0". > This would not work with the "StrCpy" in servicelib.nsh, I think. > StrCpy would stop on first 00h. > > In other case, you can assume, that coLinuxDriver will faster load as > the network driver. coLinuxDriver has no more other dependency. Tap > driver needs a complete network being up. So, adding only "tap0801co" > would be enough for delaying coLinux startup. > I see, but the coLinux driver might not start at all. That and this is not sysv, it's windows, keyboard and mouse drivers are known to not load when expected, why expect anything else to function on time? This is frailly standard, it's an array of ansi strings. http://www.java2s.com/Code/C/Data-Type/Arraysofstrings.htm As you are correct StrCpy will likely not work with an C Data-Type like a string, let alone an array of C strings. NSIS is a higher level language, so this atom would need to be mapped to a higher level construct. As this whole structure is, with '\0' being replaced with ';' I'd just assumed this case too was handled... Perhaps by another interpreter, like VB... Sorry for the NSIS specific question!!! -- Mike Mestnik Technical Team ___ Nagios Enterprises, INC. Email: mme...@na... Web: www.nagios.com |