$INSTDIR
安裝目錄 ($INSTDIR 可以使用 StrCpy、ReadRegStr、ReadINIStr 等等來更改。例如在 .onInit 函數裏可以用來做高級的檢測安裝定位)。
註意在卸載程序代碼裏,$INSTDIR 為卸載程序所在的目錄而不是在安裝程序裏所指定的目錄。例如,妳把卸載程序放在 $WINDIR 裏並且用戶沒有移動它
,那麽在卸載程序裏 $INSTDIR 就等於 $WINDIR。如果妳要把卸載程序放到到另外的位置,那麽妳應該先把安裝程序的 $INSTDIR 值寫入註冊表或其它容
易保存的地方,然後在卸載程序裏讀取該值並賦值給卸載程序裏的 $INSTDIR。
$OUTDIR
當前輸出路徑 (通過 SetOutPath 設定或通過 StrCpy、ReadRegStr、ReadINIStr 等等)
$CMDLINE
安裝程序的命令行輸入。命令行的格式如下面之壹所示:
"完整路徑\安裝程序.exe" 參數 參數 參數
安裝程序.exe 參數 參數 參數
對於解析“參數”部分,參閱 GetParameters 在 常用函數附錄。如果在命令行裏指定了 /D= (用來跳過安裝路徑的選擇)那麽 /D= 後面的參數將不會被
保存在 $CMDLINE(前面的可以保存)。
$LANGUAGE
當前使用的語言標識符。例如,英語是 1033。妳可以在 .onInit 裏更改。
4.2.3 常量
常量通常用在 InstallDir 屬性裏。
需要註意的是壹些新的常量並不是在所有的 OS 上都是正常的。例如 $CDBURN_AREA 僅在 Windows XP 及以上系統中才正常。如果在 Windows 98 中使用
將會得到空值。除非特別提示,否則該常量都是在所有 OS 上有效的。
$PROGRAMFILES
程序文件目錄(通常為 C:\Program Files 但是運行時會檢測)。
$COMMONFILES
公用文件目錄。這是應用程序***享組件的目錄(通常為 C:\Program Files\Common Files 但是運行時會檢測)。
$DESKTOP
Windows 桌面目錄(通常為 C:\windows\desktop 但是運行時會檢測)。該常量的內容(所有用戶或當前用戶)取決於 SetShellVarContext 設置。默認為當
前用戶。
$EXEDIR
安裝程序運行時的位置。(從技術上來說妳可以修改改變量,但並不是壹個好方法)。
${NSISDIR}
包含 NSIS 安裝目錄的壹個標記。在編譯時會檢測到。常用於在妳想調用壹個在 NSIS 目錄下的資源時,例如:圖標、界面……
$WINDIR
Windows 目錄(通常為 C:\windows 或 C:\winnt 但在運行時會檢測)
$SYSDIR
Windows 系統目錄(通常為 C:\windows\system 或 C:\winnt\system32 但在運行時會檢測)
$TEMP
系統臨時目錄(通常為 C:\windows\temp 但在運行時會檢測)
$STARTMENU
開始菜單目錄(常用於添加壹個開始菜單項,使用 CreateShortCut)。該常量的內容(所有用戶或當前用戶)取決於 SetShellVarContext 設置。默認為當前
用戶。
$SMPROGRAMS
開始菜單程序目錄(當妳想定位 $STARTMENU\程序 時可以使用它)。該常量的內容(所有用戶或當前用戶)取決於 SetShellVarContext 設置。默認為當前用
戶。
$SMSTARTUP
開始菜單程序/啟動 目錄。該常量的內容(所有用戶或當前用戶)取決於 SetShellVarContext 設置。默認為當前用戶。
$QUICKLAUNCH
在 IE4 活動桌面及以上的快速啟動目錄。如果快速啟動不可用,僅僅返回和 $TEMP 壹樣。
$DOCUMENTS
文檔目錄。壹個當前用戶典型的路徑形如 C:\Documents and Settings\Foo\My Documents。這個常量的內容(所有用戶或當前用戶)取決於
SetShellVarContext 設置。默認為當前用戶。
該常量在 Windows 95 且 Internet Explorer 4 沒有安裝時無效。
$SENDTO
該目錄包含了“發送到”菜單快捷項。
$RECENT
該目錄包含了指向用戶最近文檔的快捷方式。
$FAVORITES
該目錄包含了指向用戶網絡收藏夾、文檔等的快捷方式。這個常量的內容(所有用戶或當前用戶)取決於 SetShellVarContext 設置。默認為當前用戶。
該常量在 Windows 95 且 Internet Explorer 4 沒有安裝時無效。
$MUSIC
用戶的音樂文件目錄。這個常量的內容(所有用戶或當前用戶)取決於 SetShellVarContext 設置。默認為當前用戶。
該常量僅在 Windows XP、ME 及以上才有效。
$PICTURES
用戶的圖片目錄。這個常量的內容(所有用戶或當前用戶)取決於 SetShellVarContext 設置。默認為當前用戶。
該常量僅在 Windows 2000、XP、ME 及以上才有效。
$VIDEOS
用戶的視頻文件目錄。這個常量的內容(所有用戶或當前用戶)取決於 SetShellVarContext 設置。默認為當前用戶。
該常量僅在 Windows XP、ME 及以上才有效。
$NETHOOD
該目錄包含了可能存在於我的網絡位置、網上鄰居文件夾的鏈接對象。
該常量在 Windows 95 且 Internet Explorer 4 和活動桌面沒有安裝時無效。
$FONTS
系統字體目錄。
$TEMPLATES
文檔模板目錄。這個常量的內容(所有用戶或當前用戶)取決於 SetShellVarContext 設置。默認為當前用戶。
$APPDATA
應用程序數據目錄。當前用戶路徑的檢測需要 Internet Explorer 4 及以上。所有用戶路徑的檢測需要 Internet Explorer 5 及以上。這個常量的內容(
所有用戶或當前用戶)取決於 SetShellVarContext 設置。默認為當前用戶。
該常量在 Windows 95 且 Internet Explorer 4 和活動桌面沒有安裝時無效。
$LOCALAPPDATA
本機應用程序數據目錄。
該常量僅在 Windows 2000 或以上系統有效。.
$PRINTHOOD
該目錄包含了可能存在於打印機文件夾的鏈接對象。
該常量在 Windows 95 和 Windows 98 上無效。
$INTERNET_CACHE
Internet Explorer 的臨時文件目錄。
該常量在 Windows 95 和 Windows NT 且 Internet Explorer 4 和活動桌面沒有安裝時無效。
$COOKIES
Internet Explorer 的 Cookies 目錄。
該常量在 Windows 95 和 Windows NT 且 Internet Explorer 4 和活動桌面沒有安裝時無效。
$HISTORY
Internet Explorer 的歷史記錄目錄。
該常量在 Windows 95 和 Windows NT 且 Internet Explorer 4 和活動桌面沒有安裝時無效。
$PROFILE
用戶的個人配置目錄。壹個典型的路徑如 C:\Documents and Settings\Foo。
該常量在 Windows 2000 及以上有效。
$ADMINTOOLS
壹個保存管理工具的目錄。這個常量的內容(所有用戶或當前用戶)取決於 SetShellVarContext 設置。默認為當前用戶。
該常量在 Windows 2000、ME 及以上有效。
$RESOURCES
該資源目錄保存了主題和其他 Windows 資源(通常為 C:\Windows\Resources 但在運行時會檢測)。
該常量在 Windows XP 及以上有效。
$RESOURCES_LOCALIZED
該本地的資源目錄保存了主題和其他 Windows 資源(通常為 C:\Windows\Resources\1033 但在運行時會檢測)。
該常量在 Windows XP 及以上有效。
$CDBURN_AREA
壹個在燒錄 CD 時儲存文件的目錄。
該常量在 Windows XP 及以上有效。
$HWNDPARENT
父窗口的十進制窗口句柄。
$PLUGINSDIR
該路徑是壹個臨時目錄,當第壹次使用壹個插件或壹個調用 InitPluginsDir 時被創建。該文件夾當安裝程序退出時會被自動刪除。這個文件夾的用意是
用來保存給 InstallOptions 使用的 INI 文件、啟動畫面位圖或其他插件運行需要的文件。