Stai associando la variabile di ambiente al tuo programma, ma invece vuoi associarla alla tua macchina locale per renderla disponibile a ogni programma. Osserva l'overload che richiede un EnvironmentVariableTarget
.
var name = "PATH";
var scope = EnvironmentVariableTarget.Machine; // or User
var oldValue = Environment.GetEnvironmentVariable(name, scope);
var newValue = oldValue + @";C:\Program Files\MySQL\MySQL Server 5.1\bin\\";
Environment.SetEnvironmentVariable(name, newValue, scope);