$INSTDIR
安裝目錄 ($INSTDIR 可以使用 StrCpy、 ReadRegStr、 ReadINIStr 等等來更改。例如在 .onInit 函數里可以用來做高級的檢測安裝定位)。
注意在卸載程序代碼里,$INSTDIR 為卸載程序所在的目錄而不是在安裝程序里所指定的目錄。例如, 如果你把卸載程序放在 $WINDIR 里并且用戶沒有移動它,那么在卸載程序里 $INSTDIR 就等于 $WINDIR。如果你要把卸載程序放到另外的位置,那么你應該先把安裝程序的 $INSTDIR 值寫入注冊表或者其它容易保存的地方,然后在卸載程序里讀取該值并賦值給卸載程序里的 $INSTDIR。
$OUTDIR
當前輸出目錄 (通過 SetOutPath 或者通過 StrCpy、 ReadRegStr、 ReadINIStr 等等)
$CMDLINE
安裝程序命令行。命令行的格式可以是下列之一:
- "完整路徑\安裝程序.exe" 參數1 參數2 參數3
- 安裝程序.exe 參數1 參數2 參數3
- 對于解析“參數”部分,參閱 GetParameters。如果在命令行里指定了 /D= (用來跳過安裝路徑的選擇),那么 /D= 后面的參數將不會被保存在 $CMDLINE (前面的可以保存)。
$LANGUAGE
當前使用的語言標識符。例如,英語是 1033。你可以在 .onInit 里更改此變量。
常量通常用在 InstallDir 屬性里。
需要注意的是一些新的常量并不是在所有的 OS 上都是正常的。例如, $CDBURN_AREA 僅在 Windows XP 及以上系統中才正常。 如果在 Windows 98 中使用,將會得到空值。除非特別提示,否則該常量都是在所有 OS 上有效的。
$PROGRAMFILES, $PROGRAMFILES32, $PROGRAMFILES64
程序文件目錄 (通常為 C:\Program Files
但在運行時會檢測)。在 Windows x64 操作系統中, $PROGRAMFILES 和 $PROGRAMFILES32 指向 C:\Program Files (x86)
同時 $PROGRAMFILES64 指向 C:\Program Files
。當安裝 64 位應用程序時,使用 $PROGRAMFILES64。
$COMMONFILES, $COMMONFILES32, $COMMONFILES64
公用文件目錄。這是應用程序共享組件的目錄 (通常為 C:\Program Files\Common Files
但在運行時會檢測)。在 Windows x64 操作系統中, $COMMONFILES 和 $COMMONFILES32 指向 C:\Program Files (x86)\Common Files
同時 $COMMONFILES64 指向 C:\Program Files\Common Files
。當安裝 64 位應用程序時,使用 $COMMONFILES64。
$DESKTOP
Windows 桌面目錄 (通常為 C:\Windows\Desktop
但在運行時會檢測)。該常量的內容 (所有用戶或者當前用戶) 取決于 SetShellVarContext 設置。 默認為當前用戶。
$EXEDIR
可執行安裝程序運行時所在目錄 (從技術上來說你可以修改改變量,但并不是一個好方法)。
$EXEFILE
可執行安裝程序的基本名字。
$EXEPATH
可執行安裝程序的完整路徑。
${NSISDIR}
包含 NSIS 安裝目錄的符號定義標記。常用于在你想調用在 NSIS 目錄下的資源時。圖標、界面等等。
在 Windows 平臺等于 makensis 所在的目錄,而在其它平臺則在編譯時決定 (信息請看 INSTALL 文件)。你可以在編譯前通過修改 NSISDIR 環境變量來改變默認的設置。更多信息請看 section 3.1.3。
$WINDIR
Windows 目錄 (通常為 C:\Windows
或者 C:\WinNT
但在運行時會檢測)。
$SYSDIR
Windows 系統目錄 (通常為 C:\Windows\System
or 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 文件、啟動畫面位圖或其他插件運行需要的文件。
其它變量:
(每個文件名可以使用多次)
${__DATE__} 制作安裝程序時的日期(YY-MM-DD).
${__TIME__} 制作安裝程序時的時間,24時制,不能用于文件名.(HH:MM:SS)
${__TIMESTAMP__} 制作安裝程序時的日期和時間,不能用于文件名.(YYYY年MM月DD日 HH:MM:SS)
${__FILE__}當前腳本名稱
${__LINE__}當前行號
${__GLOBAL__}在全局范圍內定義
$$
轉義,用來表示 $。
$\r
用來表示一個回車 (\r)。
$\n
用來表示新的一行 (\n)。
$\t
用來表示一個 Tab (\t)。
posted on 2012-05-03 17:30
王海光 閱讀(1173)
評論(0) 編輯 收藏 引用 所屬分類:
NSIS