Archive: NSIS Service Lib


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


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).


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


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; ?


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'


Hi Comm@nder21,

where and how do i affect r3 with my variable "display name" ?