NSIS常用 指令解釋

NSIS 路徑


$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 文件、啓動畫面位圖或其他插件運行需要的文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章