James Hawkins wrote:
+static UINT ITERATE_InstallService(MSIRECORD *rec, LPVOID param)
+{
...
+ service = CreateServiceW(hscm, name, disp, SERVICE_START |
GENERIC_ALL,
+ serv_type, start_type, err_control,
file->TargetPath,
+ load_order, NULL, depends, serv_name, pass);
+ if (!service)
+ ERR("Failed to create service %s: %ld\n", debugstr_w(disp),
GetLastError());
+
+ if (!StartServiceW(service, 0, NULL))
+ ERR("Failed to start service %s: %ld\n", debugstr_w(disp),
GetLastError());
Is this function really supposed to start the service as well? Shouldn't
this be done by the StartServices action instead
(http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/startservices_action.asp)?
--
Rob Shearman