軟件打包NSIS的使用

關於NSIS

1、NSIS簡介

(1)NSIS是什麼?

    一款免費的Win32安裝、卸載系統!

(2)NSIS有什麼特點?

    腳本簡潔高效、系統開銷小,進行安裝、卸載、設置、解壓文件也不在話下,幾乎可以做所有的事情。

2、工具

    NSIS Edit + NSIS

3、使用方式

    腳本嚮導 + 修改代碼 = 個性化安裝包

準備文件

    以下是我即將打包的所有文件,安裝包目錄結構(包括:可執行程序、插件庫、運行時庫、授權文件、卸載程序圖標等等!)如下圖所示:(省略)


根據嚮導可以生成腳本,保存並編譯即可打包生成安裝包!非常方便。

具體修改方法自行查閱,這裏就不介紹了。



下面是一個簡潔版的腳步,具備安裝與徹底卸載功能的示例:

;Author: tinyms
;Date: 2011-06-22
;usage: replace NSIS/Contrib/zip2exe/Modern.nsh
;RequestExecutionLevel none|user|highest|admin
 
;RequestExecutionLevel user
 
!include "MUI.nsh"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "SimpChinese"
 
!define NAME "你的Exe名稱"
;自行修改自己的安裝包ico
Icon "D:/logo.ico"
 
Section
    SetOutPath $INSTDIR\${NAME}\bin
        ;修改自己Exe位置的快捷方式指向
    CreateShortCut $DESKTOP\${NAME}.lnk $INSTDIR\${NAME}\bin\${NAME}.exe
    SetShellVarContext All
        ;修改自己Exe位置的快捷方式指向
    CreateShortCut $SMPROGRAMS\${NAME}.lnk $INSTDIR\${NAME}\bin\${NAME}.exe
    WriteRegStr HKLM "Software\${NAME}" "" "$INSTDIR"
        ;在控制面板中可以有刪除項
    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" "DisplayName" "${NAME}"
    WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}" "UninstallString" '"$INSTDIR\${NAME}\uninst.exe"'
    WriteUninstaller "$INSTDIR\${NAME}\uninst.exe"
SectionEnd
 
Section "Uninstall"
    Delete $DESKTOP\${NAME}.lnk
    SetShellVarContext All
    Delete $SMPROGRAMS\${NAME}.lnk
    DeleteRegKey HKLM "Software\${NAME}"
    DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${NAME}"
    RMDir /r "$INSTDIR"
SectionEnd


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