Mal so nebenbei: Wenn dieses Programm auf Kundenrechnern läuft, sollte man auf das
SetEnvironmentVariable vielleicht komplett verzichten (ich zumindest mag es nicht, wenn mir jemand ungefragt an globalen Einstellungen rumspielt
).
Das ist keine globale Einstellung. Es wird eine Variable für den aktuellen Prozess gesetzt, die - wie das so unter Windows üblich ist - auch an dessen Kinder weitergegeben wird. Endet dieser Prozess, ist die Variable weg. AFAIK hat das auch keinen Einfluss auf andere Prozesse, sofern sie nicht von eben jenem aus gestartet werden/wurden (siehe auch die Remarks zu SetEnvironmentVariable).
MfG Dalai