mirror of
https://github.com/coreybutler/nvm-windows.git
synced 2025-09-02 02:44:36 +00:00
Set/Unset user environment as origional non-admin user
This commit is contained in:
47
nvm.iss
47
nvm.iss
@@ -96,15 +96,7 @@ begin
|
||||
|
||||
RegWriteExpandStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', path);
|
||||
|
||||
RegQueryStringValue(HKEY_CURRENT_USER,
|
||||
'Environment',
|
||||
'Path', path);
|
||||
|
||||
StringChangeEx(path,np+'\','',True);
|
||||
StringChangeEx(path,np,'',True);
|
||||
StringChangeEx(path,np+';;',';',True);
|
||||
|
||||
RegWriteExpandStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', path);
|
||||
ExecAsOriginalUser('wscript', 'setuserenv.vbs', ExpandConstant('{app}'), SW_SHOW, ewWaitUntilTerminated, ResultCode);
|
||||
|
||||
nodeInUse := ExpandConstant('{app}')+'\'+nv;
|
||||
|
||||
@@ -216,12 +208,8 @@ begin
|
||||
RegDeleteValue(HKEY_LOCAL_MACHINE,
|
||||
'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
|
||||
'NVM_SYMLINK')
|
||||
RegDeleteValue(HKEY_CURRENT_USER,
|
||||
'Environment',
|
||||
'NVM_HOME')
|
||||
RegDeleteValue(HKEY_CURRENT_USER,
|
||||
'Environment',
|
||||
'NVM_SYMLINK')
|
||||
ExecAsOriginalUser('REG', 'DELETE HKCU\Environment /F /V NVM_HOME /D', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
||||
ExecAsOriginalUser('REG', 'DELETE HKCU\Environment /F /V NVM_SYMLINK /D', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
||||
|
||||
RegQueryStringValue(HKEY_LOCAL_MACHINE,
|
||||
'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
|
||||
@@ -233,15 +221,7 @@ begin
|
||||
|
||||
RegWriteExpandStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', path);
|
||||
|
||||
RegQueryStringValue(HKEY_CURRENT_USER,
|
||||
'Environment',
|
||||
'Path', path);
|
||||
|
||||
StringChangeEx(path,'%NVM_HOME%','',True);
|
||||
StringChangeEx(path,'%NVM_SYMLINK%','',True);
|
||||
StringChangeEx(path,';;',';',True);
|
||||
|
||||
RegWriteExpandStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', path);
|
||||
ExecAsOriginalUser('wscript', 'unsetuserenv.vbs', ExpandConstant('{app}'), SW_SHOW, ewWaitUntilTerminated, ResultCode);
|
||||
|
||||
Result := True;
|
||||
end;
|
||||
@@ -250,6 +230,7 @@ end;
|
||||
procedure CurStepChanged(CurStep: TSetupStep);
|
||||
var
|
||||
path: string;
|
||||
ResultCode: Integer;
|
||||
begin
|
||||
if CurStep = ssPostInstall then
|
||||
begin
|
||||
@@ -258,8 +239,8 @@ begin
|
||||
// Add Registry settings
|
||||
RegWriteExpandStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'NVM_HOME', ExpandConstant('{app}'));
|
||||
RegWriteExpandStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'NVM_SYMLINK', SymlinkPage.Values[0]);
|
||||
RegWriteExpandStringValue(HKEY_CURRENT_USER, 'Environment', 'NVM_HOME', ExpandConstant('{app}'));
|
||||
RegWriteExpandStringValue(HKEY_CURRENT_USER, 'Environment', 'NVM_SYMLINK', SymlinkPage.Values[0]);
|
||||
ExecAsOriginalUser('REG', 'ADD HKCU\Environment /F /V NVM_HOME /D "' + ExpandConstant('{app}') + '"', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
||||
ExecAsOriginalUser('REG', 'ADD HKCU\Environment /F /V NVM_SYMLINK /D "' + SymlinkPage.Values[0] + '"', '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
|
||||
|
||||
// Update system and user PATH if needed
|
||||
RegQueryStringValue(HKEY_LOCAL_MACHINE,
|
||||
@@ -275,19 +256,7 @@ begin
|
||||
StringChangeEx(path,';;',';',True);
|
||||
RegWriteExpandStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', path);
|
||||
end;
|
||||
RegQueryStringValue(HKEY_CURRENT_USER,
|
||||
'Environment',
|
||||
'Path', path);
|
||||
if Pos('%NVM_HOME%',path) = 0 then begin
|
||||
path := path+';%NVM_HOME%';
|
||||
StringChangeEx(path,';;',';',True);
|
||||
RegWriteExpandStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', path);
|
||||
end;
|
||||
if Pos('%NVM_SYMLINK%',path) = 0 then begin
|
||||
path := path+';%NVM_SYMLINK%';
|
||||
StringChangeEx(path,';;',';',True);
|
||||
RegWriteExpandStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', path);
|
||||
end;
|
||||
ExecAsOriginalUser('wscript', 'setuserenv.vbs', ExpandConstant('{app}'), SW_SHOW, ewWaitUntilTerminated, ResultCode);
|
||||
end;
|
||||
end;
|
||||
|
||||
|
Reference in New Issue
Block a user