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/s... -- Rob Shearman