xiewenjie 9c0114749e 1.0.0.5 3 лет назад
..
license.txt 9c0114749e 1.0.0.5 3 лет назад
readme.txt 9c0114749e 1.0.0.5 3 лет назад

readme.txt

EnVar plugin for NSIS

Coded by Jason Ross aka JasonFriday13 on the forums.

Copyright (C) 2014-2016, 2018, 2020-2021 MouseHelmet Software


Introduction
------------

This plugin manages environment variables. It allows checking for environment
variables, checking for paths in those variables, adding paths to variables,
removing paths from variables, removing variables from the environment, and
updating the installer enviroment from the registry. This plugin is provided
with 32bit ansi and unicode versions, as well as a 64bit unicode version.

Functions
---------

There are eight functions in this plugin. Returns an error code on the
stack (unless noted otherwise), see below for the codes.

ERR_SUCCESS 0 Function completed successfully.
ERR_NOMEMALLOC 1 Function can't allocate memory required.
ERR_NOREAD 2 Function couldn't read from the environment.
ERR_NOVARIABLE 3 Variable doesn't exist in the current environment.
ERR_NOTYPE 4 Variable exists but is the wrong type.
ERR_NOVALUE 5 Value doesn't exist in the Variable.
ERR_NOWRITE 6 Function can't write to the current environment.

EnVar::SetHKCU
EnVar::SetHKLM

SetHKCU sets the environment access to the current user. This is the default.
SetHKLM sets the environment access to the local machine.
These functions do not return a value on the stack.

EnVar::Check VariableName Path

Checks for a Path in the specified VariableName. Passing "null" as a Path makes
it check for the existance of VariableName. Passing "null" for both makes it
check for write access to the current environment.

EnVar::AddValue VariableName Path
EnVar::AddValueEx VariableName Path

Adds a Path to the specified VariableName. AddValueEx is for expandable paths,
ie %tempdir%. Both functions respect expandable variables, so if the variable
already exists, they try to leave it intact. AddValueEx converts the variable to
its expandable version. If the path already exists, it returns a success error code.

EnVar::DeleteValue VariableName Path

Deletes a path from a variable. The delete is also recursive, so if it finds multiple
paths, all of them are deleted as well.

EnVar::Delete VariableName

Deletes a variable from the environment. Note that "path" cannot be deleted.

EnVar::Update RegRoot VariableName

Updates the installer environment by reading VariableName from the registry
and can use RegRoot to specify from which root it reads from: HKCU for the
current user, and HKLM for the local machine. Passing "null" for RegRoot
causes VariableName to be removed from the installer environment. Anything
else (including an empty string) for RegRoot means it reads from both roots,
appends the paths together, and updates the installer environment. This
function is not affected by EnVar::SetHKCU and EnVar::SetHKLM, and does not
write to the registry.