nsis-0.2.4: Examples/EnvVarUpdate.hs
{-# LANGUAGE OverloadedStrings #-}
module Examples.EnvVarUpdate(envvarupdate) where
import Development.NSIS
import Development.NSIS.Plugins.EnvVarUpdate
envvarupdate = do
name "envvarupdate"
outFile "envvarupdate.exe"
requestExecutionLevel User
section "" [] $ do
let assert x = iff_ (getEnvVar HKCU "NSIS_TEST" %/= x) $ alert $ "FAILED!"
deleteEnvVar HKCU "NSIS_TEST"
setEnvVar HKCU "NSIS_TEST" "This is a;test"
assert "This is a;test"
setEnvVarAppend HKCU "NSIS_TEST" "foo bar"
assert "This is a;test;foo bar"
setEnvVarPrepend HKCU "NSIS_TEST" "test"
assert "test;This is a;foo bar"
setEnvVarRemove HKCU "NSIS_TEST" "test"
assert "This is a;foo bar"
setEnvVarRemove HKCU "NSIS_TEST" "foo bar"
assert "This is a"
setEnvVarPrepend HKCU "NSIS_TEST" "extra"
assert "extra;This is a"
setEnvVarRemove HKCU "NSIS_TEST" "bob"
assert "extra;This is a"
setEnvVar HKCU "NSIS_TEST" "bob;bob;bob;x;bob"
setEnvVarRemove HKCU "NSIS_TEST" "bob"
assert "x"
setEnvVarRemove HKCU "NSIS_TEST" "x"
assert ""
setEnvVar HKCU "NSIS_TEST" "y"
deleteEnvVar HKCU "NSIS_TEST"
assert ""
alert $ "USER $$PATH = " & getEnvVar HKCU "PATH"
alert $ "MACHINE $$PATH = " & getEnvVar HKLM "PATH"