better failed update handling; complete rewrite of windows service code; strict pascal case for enums; log more errors