NSIS常用 指令解釋

2021-09-28 12:43:09 字數 3700 閱讀 8395

nsis 路徑

安裝目錄 ($instdir 可以使用 strcpy、readregstr、readinistr 等等來更改。例如在 .oninit 函式裡可以用來做高階的檢測安裝定位)。

注意在解除安裝程式**裡,$instdir 為解除安裝程式所在的目錄而不是在安裝程式裡所指定的目錄。例如,你把解除安裝程式放在 $windir 裡並且使用者沒有移動它

,那麼在解除安裝程式裡 $instdir 就等於 $windir。如果你要把解除安裝程式放到到另外的位置,那麼你應該先把安裝程式的 $instdir 值寫入登錄檔或其它容

易儲存的地方,然後在解除安裝程式裡讀取該值並賦值給解除安裝程式裡的 $instdir。

當前輸出路徑 (通過 setoutpath 設定或通過 strcpy、readregstr、readinistr 等等)

安裝程式的命令列輸入。命令列的格式如下面之一所示:

"完整路徑\安裝程式.exe" 引數 引數 引數

安裝程式.exe 引數 引數 引數

對於解析「引數」部分,參閱 getparameters 在 常用函式附錄。如果在命令列裡指定了 /d= (用來跳過安裝路徑的選擇)那麼 /d= 後面的引數將不會被

儲存在 $cmdline(前面的可以儲存)。

當前使用的語言識別符號。例如,英語是 1033。你可以在 .oninit 裡更改。

常量通常用在 installdir 屬性裡。

需要注意的是一些新的常量並不是在所有的 os 上都是正常的。例如 $cdburn_area 僅在 windows xp 及以上系統中才正常。如果在 windows 98 中使用

將會得到空值。除非特別提示,否則該常量都是在所有 os 上有效的。

程式檔案目錄(通常為 c:\program files 但是執行時會檢測)。

公用檔案目錄。這是應用程式共享元件的目錄(通常為 c:\program files\common files 但是執行時會檢測)。

windows 桌面目錄(通常為 c:\windows\desktop 但是執行時會檢測)。該常量的內容(所有使用者或當前使用者)取決於 setshellvarcontext 設定。預設為當

前使用者。

安裝程式執行時的位置。(從技術上來說你可以修改改變量,但並不是乙個好方法)。

包含 nsis 安裝目錄的乙個標記。在編譯時會檢測到。常用於在你想呼叫乙個在 nsis 目錄下的資源時,例如:圖示、介面……

windows 目錄(通常為 c:\windows 或 c:\winnt 但在執行時會檢測)

windows 系統目錄(通常為 c:\windows\system 或 c:\winnt\system32 但在執行時會檢測)

系統臨時目錄(通常為 c:\windows\temp 但在執行時會檢測)

開始選單目錄(常用於新增乙個開始選單項,使用 createshortcut)。該常量的內容(所有使用者或當前使用者)取決於 setshellvarcontext 設定。預設為當前

使用者。開始選單程式目錄(當你想定位 $startmenu\程式 時可以使用它)。該常量的內容(所有使用者或當前使用者)取決於 setshellvarcontext 設定。預設為當前用

戶。開始選單程式/啟動 目錄。該常量的內容(所有使用者或當前使用者)取決於 setshellvarcontext 設定。預設為當前使用者。

在 ie4 活動桌面及以上的快速啟動目錄。如果快速啟動不可用,僅僅返回和 $temp 一樣。

文件目錄。乙個當前使用者典型的路徑形如 c:\documents and settings\foo\my documents。這個常量的內容(所有使用者或當前使用者)取決於

setshellvarcontext 設定。預設為當前使用者。

該常量在 windows 95 且 internet explorer 4 沒有安裝時無效。

該目錄包含了「傳送到」選單快捷項。

該目錄包含了指向使用者最近文件的快捷方式。

該目錄包含了指向使用者網路收藏夾、文件等的快捷方式。這個常量的內容(所有使用者或當前使用者)取決於 setshellvarcontext 設定。預設為當前使用者。

該常量在 windows 95 且 internet explorer 4 沒有安裝時無效。

使用者的**檔案目錄。這個常量的內容(所有使用者或當前使用者)取決於 setshellvarcontext 設定。預設為當前使用者。

該常量僅在 windows xp、me 及以上才有效。

使用者的目錄。這個常量的內容(所有使用者或當前使用者)取決於 setshellvarcontext 設定。預設為當前使用者。

該常量僅在 windows 2000、xp、me 及以上才有效。

該目錄包含了可能存在於我的網路位置、網路上的芳鄰資料夾的鏈結物件。

該常量在 windows 95 且 internet explorer 4 和活動桌面沒有安裝時無效。

系統字型目錄。

文件模板目錄。這個常量的內容(所有使用者或當前使用者)取決於 setshellvarcontext 設定。預設為當前使用者。

應用程式資料目錄。當前使用者路徑的檢測需要 internet explorer 4 及以上。所有使用者路徑的檢測需要 internet explorer 5 及以上。這個常量的內容(

所有使用者或當前使用者)取決於 setshellvarcontext 設定。預設為當前使用者。

該常量在 windows 95 且 internet explorer 4 和活動桌面沒有安裝時無效。

本機應用程式資料目錄。

該常量僅在 windows 2000 或以上系統有效。.

該目錄包含了可能存在於印表機資料夾的鏈結物件。

該常量在 windows 95 和 windows 98 上無效。

internet explorer 的臨時檔案目錄。

該常量在 windows 95 和 windows nt 且 internet explorer 4 和活動桌面沒有安裝時無效。

internet explorer 的 cookies 目錄。

該常量在 windows 95 和 windows nt 且 internet explorer 4 和活動桌面沒有安裝時無效。

internet explorer 的歷史記錄目錄。

該常量在 windows 95 和 windows nt 且 internet explorer 4 和活動桌面沒有安裝時無效。

使用者的個人配置目錄。乙個典型的路徑如 c:\documents and settings\foo。

該常量在 windows 2000 及以上有效。

乙個儲存管理工具的目錄。這個常量的內容(所有使用者或當前使用者)取決於 setshellvarcontext 設定。預設為當前使用者。

該常量在 windows 2000、me 及以上有效。

該資源目錄儲存了主題和其他 windows 資源(通常為 c:\windows\resources 但在執行時會檢測)。

該常量在 windows xp 及以上有效。

該本地的資源目錄儲存了主題和其他 windows 資源(通常為 c:\windows\resources\1033 但在執行時會檢測)。

該常量在 windows xp 及以上有效。

乙個在燒錄 cd 時儲存檔案的目錄。

該常量在 windows xp 及以上有效。

父視窗的十進位制視窗控制代碼。

該路徑是乙個臨時目錄,當第一次使用乙個外掛程式或乙個呼叫 initpluginsdir 時被建立。該資料夾當安裝程式退出時會被自動刪除。這個資料夾的用意是

用來儲存給 installoptions 使用的 ini 檔案、啟動畫面點陣圖或其他外掛程式執行需要的檔案。

NSIS安裝檔案指令碼解釋

calendar.nsi 這是我使用的乙個小軟體的安裝檔案指令碼,其中包含了 使用者安裝目錄選擇 核心程式元件與快捷方式建立選擇 解除安裝程式 安裝程式名稱,將顯示在安裝程式對話方塊標題 name 日曆1900 2100 生成的單個安裝執行檔案 outfile calendar setup.exe ...

NSIS 常用技術要點

nsis複製檔案,不彈出任何視窗 n ec exectolog cmd.exe c copy instdir php5 php.ini windir y n ec exectolog cmd.exe c copy instdir php5 php5ts.dll sysdir y nsis註冊服務,啟...

NSIS 常用技術要點

nsis複製檔案,不彈出任何視窗 n ec exectolog cmd.exe c copy instdir php5 php.ini windir y n ec exectolog cmd.exe c copy instdir php5 php5ts.dll sysdir y nsis註冊服務,啟...