Программно изменяемые переменные среды действуют только на время действия программы. Не слышал о том, чтобы действительно изменить среду в масштабе всей системы и сделать ее эффективной тут же. Я не думаю, что это можно сделать, для этого потребуется возиться на привилегированном уровне и, возможно, возиться с основной системой, чтобы добиться этого.
Даже под Unix этого сделать нельзя, несмотря на некоторые взломы для его достижения. Я помню, как видел код, который действительно изменял переменные среды под MSDOS, изменяя структуру данных среды MSDOS _psp, но это была однозадачная система, 16-битная без какой-либо защиты.
Подводя итог, я не думаю, что вы можете, и было бы неразумно делать это, это могло бы восприниматься так, как будто система подвергается угрозе со стороны "трояна" или "вируса" в результате при попытке не так, чтобы как пользователь я не хотел, чтобы программа изменяла системную переменную среды без моего согласия! Конечно, программа может записывать в реестр, чтобы сделать его постоянным, но я все же хотел бы знать, какова его цель и почему.