An object-oriented programming language developed by Microsoft that can be used in .NET.
I think you are safe setting the service start mode via the registry. I haven't checked all versions of Windows but the indicated registry key/value pair is valid as far back as Windows XPSP3.
And under the hood, the Windows API function CreateService sets the start mode of the service and the minimum supported desktop version of Windows is XP. And if you wanted to change the start mode for an existing service you could p/invoke ChangeServiceConfig to avoid direct registry editing.