OK, It's taken me a while to get back to this.
I did venture into
WiX and it was the
right decision for many reasons.
I then went through a lot of hoops - I think - to create some custom actions and all sorts of stuff to check if the Environment Variable existed already, what the value was and report back if it was an unexpected value - realising that changing it will/may ruin some other programmes. SO - in the end
I went with NOT setting the Environment Variable in the Installer but instead setting it in the programme.
This works well - any processes spawned from my program will use these settings by default.
Environment.SetEnvironmentVariable(environmentVariableName, environmentVariableValue, EnvironmentVariableTarget.Process);