; 清除錯誤標誌
ClearErrors
; 讀取環境變量 MyPath,如果環境變量不存在將返回空字符串並標誌錯誤
ReadRegStr $0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MyPatha"
IfErrors ShowMessageBox NextStep
ShowMessageBox:
MessageBox MB_OK|MB_ICONINFORMATION "該環境變量不存在" /SD IDOK
NextStep:
WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "MyPath" "$0;$INSTDIR\Oracle\bin\"
; 刷新環境變量,需要引用 WinMessages 頭文件(!include "WinMessages.nsh")
SendMessage ${HWND_BROADCAST} ${WM_WININICHANGE} 0 "STR:Environment"
;-----------------------------------------------
;利用WordReplace函數從PATH中刪除設置oracle的環境變量
;需要在文件頭引入相應的頭文件:!include "WordFunc.nsh"
ReadRegStr $R0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path"
${WordReplace} $R0 ";$INSTDIR\Oracle\bin\" "" "+" $R1
MessageBox MB_OK|MB_USERICON '$R0 - $INSTDIR - $R1 '
WriteRegExpandStr HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "Path" "$R1"