Você está associando a variável de ambiente ao seu programa, mas, em vez disso, deseja associá-la à sua máquina local para torná-la disponível para todos os programas. Veja a sobrecarga que leva um
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);