Per identificare il sistema operativo, non credo ti serva agire sul Registro di Configurazione; forse ti basterebbe ispezionare le informazioni restituite dalla classe System.Environment.
Per quanto riguarda il .NET Framework, se la tua applicazione viene eseguita, puoi stare tranquillo che il framework è installato.![]()