用过打包软件的朋友都知道我们在制作安装包的时候经常需要往windows系统里面注册一些服务,以方便管理。用Advanced Installer的话就太简单了,直接在向导里面填入服务名称和描述之类的就可以自动实现的,但是用installshield的朋友都知道installshield是没有这个向导,那么我们就只能通过代码来实现了。
一个windows服务的信息:
1.注册的服务名称:也就是我们在任务管理器里面看到的进程名称
2.服务的显示名称:就是我们在服务管理器上面看到
3.服务的描述信息:这个就不用说了(可有可无)
4.服务调用的程序路径:这个服务运行那个程序
5.服务器的启动类型:是否自动,还是手动,或者是禁用
有了上面这些信息我们就可以开始着手写代码了
function OnFirstUIAfter()
STRING szServiceName, szServiceDisplayName, szServiceDescription, szServicePathFile, szStartServiceArgs;
NUMBER ,bStartService,
begin
ShowObjWizardPages(NEXT);
szServiceName=”hiadmin”;
//注册的服务名称
szServiceDisplayName=”阳光网志”;
//服务显示名称
szServiceDescription=”阳光网志,个人博客而已”;
//服务描述
szServicePathFile=TARGETDIR^”\\Server\\test.exe”;
//程序文件的路径,安装路径下的Server目录下的test.exe文件
bStartService=0;
//启动类型为自动
szStartServiceArgs=”";
ServiceAddService ( szServiceName, szServiceDisplayName, szServiceDescription, szServicePathFile, bStartService, szStartServiceArgs );
ServiceStartService(szServiceName,”");
//在最后加了一行代码,当程序安装完成后启动这个服务
转自:http://blog.csdn.net/wanlixingzhe/article/details/7181307