dselkirk
15th September 2003 14:51 UTC
NSIS Service Lib
In an attempt to reduce the number of plugins my install needs I created NSIS Service Lib. The only requirement is the system plugin. This of course will only work on a NT system so please check before running. Enjoy!
Archive: http://nsis.sourceforge.net/archive/...php?pageid=345
brainsucker
15th September 2003 22:07 UTC
Cool. Only one tip: you have used &l type in some places to pass structure pointer, but it should be just i. l is int64, but in win32 pointers are 32 bit integers. And & options is designated for structures only (sorry ;). call '*()i.r0' places your structure ptr to r0, so you could pass it function like (, i r0).
dselkirk
16th September 2003 14:15 UTC
Its funny, during development the only way I could get a return was by using &l. Now, after you mentioned it I went back and the int work perfectly. Anyway, thanks for your help and I am glad you like.
Archive:
http://nsis.sourceforge.net/archive/...php?pageid=345
fluidz91
7th June 2006 09:49 UTC
Hi dselkirk,
your lib is great !
I wanted to make a little change to it but not good enough to manage with it :(
When creating the service :
System::Call 'advapi32::CreateServiceA(i r4, t r2, t r2, i ${SERVICE_ALL_ACCESS}, \
i R4, i R5, i 0, t R6, n, n, R1, R2, R3) i.r6'
You use the same variable r2 to declare the service name AND the displayname of service, i wanted to use another variable in order to declare the displayname differently...
Well, i don't know how to ask in good english but i wonder if you could add another variable in the list of parameters like display=DisplayName; ?
Comm@nder21
8th June 2006 13:31 UTC
System::Call 'advapi32::CreateServiceA(i r4, t r2, t r3, i ${SERVICE_ALL_ACCESS}, \
i R4, i R5, i 0, t R6, n, n, R1, R2, R3) i.r6'
fluidz91
21st June 2006 15:56 UTC
Hi Comm@nder21,
where and how do i affect r3 with my variable "display name" ?