日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

Windows软件打包方法

發(fā)布時(shí)間:2024/8/1 windows 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Windows软件打包方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

NSIS腳本

NSIS(Nullsoft Scriptable Install System)的開(kāi)源的Windows系統(tǒng)下的安裝程序制作工具,它提供了安裝、卸載、系統(tǒng)設(shè)置、文件壓縮等等功能,通過(guò)NSIS腳本語(yǔ)言來(lái)涉及安裝程序設(shè)計(jì)。

  • NSIS 打包腳本基礎(chǔ)
  • NSIS進(jìn)階教程

相關(guān)工具

  • HM NIS Edit
  • NSIS: Nullsoft Scriptable Install System

基本語(yǔ)法

變量

nsi腳本用var來(lái)定義變量,使用$來(lái)進(jìn)行引用,除了用戶自定義的變量(全局)外,nsi腳本中定義了寄存器變量0~9,R0~R9用于參數(shù)傳遞,以及系統(tǒng)變量用于特定用途,這些變量主要有:

變量描述
$INSTDIR用戶定義的解壓路徑
$PROGRAMFILES程序文件目錄(通常為 C:\Program Files 但是運(yùn)行時(shí)會(huì)檢測(cè))。
$COMMONFILES公用文件目錄。這是應(yīng)用程序共享組件的目錄(通常為 C:\Program Files\Common Files 但是運(yùn)行時(shí)會(huì)檢測(cè))。
$DESKTOPWindows 桌面目錄(通常為 C:\windows\desktop 但是運(yùn)行時(shí)會(huì)檢測(cè))。該常量的內(nèi)容(所有用戶或當(dāng)前用戶)取決于 SetShellVarContext 設(shè)置。默認(rèn)為當(dāng)前用戶。
${NSISDIR}NSIS安裝目錄,編譯時(shí)會(huì)檢測(cè)到
$WINDIRWindows目錄(通常為C:\windows,在運(yùn)行時(shí)會(huì)檢測(cè))
$SYSDIRWindows 系統(tǒng)目錄(通常為 C:\windows\system,在運(yùn)行時(shí)會(huì)檢測(cè))
$TEMP系統(tǒng)臨時(shí)目錄(通常為 C:\windows\temp,運(yùn)行時(shí)會(huì)檢測(cè))
$SMPROGRAMS開(kāi)始菜單程序目錄,使用CreateShortCut來(lái)創(chuàng)建快捷方式。該常量的內(nèi)容(所有用戶或當(dāng)前用戶)取決于 SetShellVarContext 設(shè)置。默認(rèn)為當(dāng)前用戶。
$SENDTO該目錄包含了“發(fā)送到”菜單快捷項(xiàng)。
$RECENT該目錄包含了指向用戶最近文檔的快捷方式。
$FAVORITES該目錄包含了指向用戶網(wǎng)絡(luò)收藏夾、文檔等的快捷方式。這個(gè)常量的內(nèi)容(所有用戶或當(dāng)前用戶)取決于 SetShellVarContext 設(shè)置。默認(rèn)為當(dāng)前用戶。
$MUSIC用戶的音樂(lè)文件目錄。這個(gè)常量的內(nèi)容(所有用戶或當(dāng)前用戶)取決于 SetShellVarContext 設(shè)置。默認(rèn)為當(dāng)前用戶。
$PICTURES用戶的圖片目錄。這個(gè)常量的內(nèi)容(所有用戶或當(dāng)前用戶)取決于 SetShellVarContext 設(shè)置。默認(rèn)為當(dāng)前用戶。
$VIDEOS用戶的視頻文件目錄。這個(gè)常量的內(nèi)容(所有用戶或當(dāng)前用戶)取決于 SetShellVarContext 設(shè)置。默認(rèn)為當(dāng)前用戶。
$FONTS系統(tǒng)字體目錄。
$TEMPLATES文檔模板目錄。這個(gè)常量的內(nèi)容(所有用戶或當(dāng)前用戶)取決于 SetShellVarContext 設(shè)置。默認(rèn)為當(dāng)前用戶。
$APPDATA
$COOKIESInternet Explorer 的 Cookies 目錄。
$HISTORYInternet Explorer 的歷史記錄目錄。
$RESOURCES該資源目錄保存了主題和其他 Windows 資源(通常為 C:\Windows\Resources 但在運(yùn)行時(shí)會(huì)檢測(cè)),Windows XP 及以上有效
常用命令
  • !include
    • 作用:包含頭文件
    • !include "MUI.nsh"
  • !insertmacro
    • 作用:插入宏
    • !insertmacro MUI_PAGE_WELCOME
  • Goto
    • 作用:跳轉(zhuǎn)到指定標(biāo)記。[+-][1-9],加號(hào)表示從當(dāng)前位置往前跳轉(zhuǎn),減號(hào)則表示從當(dāng)前位置往后跳轉(zhuǎn)。數(shù)字表示跳轉(zhuǎn)的語(yǔ)句條數(shù)。
    • Goto +4 ;跳轉(zhuǎn)以下4條語(yǔ)句 Goto -3 ; 跳轉(zhuǎn)到前3條語(yǔ)句
  • File
    • 作用:釋放文件到當(dāng)前輸出路徑
    • 參數(shù)
      • /r 目錄匹配的所有的內(nèi)容進(jìn)行遞歸添加,而且目錄結(jié)構(gòu)也會(huì)保持。
      • /x 排除文件或目錄
      • /a 保持被添加的文件的屬性
      • /nonfatal 當(dāng)文件未找到使用警告來(lái)代替錯(cuò)誤
    • File /r *.*
  • Delete
    • 作用:刪除文件
    • Delete "$INSTDIR\uninst.exe"
  • RMDir
    • 作用:刪除目錄
    • RMDir "$INSTDIR"
  • Rename
    • 作用:文件重命名
  • CreateShortCut
    • 作用:創(chuàng)建快捷方式
    • CreateShortCut “DESKTOP\Test.lnk”“DESKTOP\Test.lnk”“INSTDIR\Test.exe” “” “$INSTDIR\Resources\Picture\Icon\ Test.ico”
  • CreateDirectory
    • 作用:遞歸創(chuàng)建目錄。當(dāng)目錄不能創(chuàng)建時(shí)給出錯(cuò)誤標(biāo)記。
    • CreateDirectory "$SMPROGRAMS\Log Download"
  • StrCpy
    • 作用:復(fù)制字符串
    • StrCpy $0 "a bbbbbbbb" ;$0 = "a bbbbbbbb"
  • StrCmp
    • 作用:字符串比較,如果字符串1和字符串2相等則調(diào)轉(zhuǎn)到第一個(gè)標(biāo)記處,否則調(diào)轉(zhuǎn)到第二個(gè)標(biāo)記處。
    • StrCmp a b fun1 fun2
  • ReadRegDWORD
    • 作用:讀取注冊(cè)表信息
  • MessageBox
    • 作用:顯示一個(gè)包含“消息框文本”的消息框。“消息框選項(xiàng)列表”必須為下面的一個(gè)或多個(gè),多個(gè)使用 | 來(lái)隔開(kāi)。
      • MB_OK - 顯示 OK 按鈕
      • MB_OKCANCEL - 顯示 OK 和取消按鈕
      • MB_ABORTRETRYIGNORE - 顯示退出、重試、忽略按鈕
      • MB_RETRYCANCEL - 顯示重試和取消按鈕
      • MB_YESNO - 顯示是和否按鈕
      • MB_YESNOCANCEL - 顯示是、否、取消按鈕
      • MB_ICONEXCLAMATION - 顯示驚嘆號(hào)圖標(biāo)
      • MB_ICONINFORMATION - 顯示信息圖標(biāo)
      • MB_ICONQUESTION - 顯示問(wèn)號(hào)圖標(biāo)
      • MB_ICONSTOP - 顯示終止圖標(biāo)
      • MB_TOPMOST - 使消息框在最前端顯示
      • MB_SETFOREGROUND - 設(shè)置前景
      • MB_RIGHT - 右對(duì)齊文本
      • MB_RTLREADING - RTL 閱讀次序
      • MB_DEFBUTTON1 - 默認(rèn)為按鈕 1
      • MB_DEFBUTTON2 - 默認(rèn)為按鈕 2
      • MB_DEFBUTTON3 - 默認(rèn)為按鈕 3
      • MB_DEFBUTTON4 - 默認(rèn)為按鈕 4

腳本實(shí)現(xiàn)

修改Head圖片
!define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_BITMAP "installheader.bmp"
修改界面左側(cè)的圖片信息
!define MUI_WELCOMEFINISHPAGE_BITMAP "installheader.bmp"
修改安裝和卸載圖標(biāo)
!define MUI_ICON "${NSISDIR}\install.ico" !define MUI_UNICON "${NSISDIR}\uninstall.ico"
創(chuàng)建快捷方式
CreateShortCut "$SMPROGRAMS\Test\Test.lnk" "$INSTDIR\Test.exe"CreateShortCut "$DESKTOP\Test.lnk" "$INSTDIR\Test.exe"
設(shè)置安裝界面語(yǔ)言
!insertmacro MUI_LANGUAGE "SimpChinese" ;簡(jiǎn)體中文 !insertmacro MUI_LANGUAGE "English" ;英文
顯示安裝和卸載進(jìn)度
ShowInstDetails show ShowUnInstDetails show
顯示消息框
Section "MainSection" SEC01SetOutPath "$INSTDIR"SetOverwrite ifnewerFile /r *.*MessageBox MB_OKCANCEL "OK | Cancel" SectionEnd

總結(jié)

以上是生活随笔為你收集整理的Windows软件打包方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。