天天看點

使用NSIS 打包程式1 NSIS版本為2.45的中文版本。 2 啟動程式後界面顯示為:

1 NSIS版本為2.45的中文版本。

2 啟動程式後界面顯示為:

使用NSIS 打包程式1 NSIS版本為2.45的中文版本。 2 啟動程式後界面顯示為:

3 安裝效果圖:

使用NSIS 打包程式1 NSIS版本為2.45的中文版本。 2 啟動程式後界面顯示為:
使用NSIS 打包程式1 NSIS版本為2.45的中文版本。 2 啟動程式後界面顯示為:
使用NSIS 打包程式1 NSIS版本為2.45的中文版本。 2 啟動程式後界面顯示為:
使用NSIS 打包程式1 NSIS版本為2.45的中文版本。 2 啟動程式後界面顯示為:
使用NSIS 打包程式1 NSIS版本為2.45的中文版本。 2 啟動程式後界面顯示為:

下面是代碼:

; 該腳本使用 HM VNISEdit 腳本編輯器向導産生

; 安裝程式初始定義常量
!define PRODUCT_NAME "ImageConvert"
!define PRODUCT_VERSION "1.0"
!define PRODUCT_PUBLISHER "huangtao"
!define PRODUCT_WEB_SITE "http://blog.csdn.net/taoerit"
!define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\setup.exe"
!define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"

SetCompressor lzma

; ------ MUI 現代界面定義 (1.67 版本以上相容) ------
!include "MUI.nsh"

; MUI 預定義常量
!define MUI_ABORTWARNING
!define MUI_ICON "C:\ImageCovert\Themes\application\application.ico" ;安裝圖示
!define MUI_UNICON "C:\ImageCovert\Themes\application\uninstall.ico" ;解除安裝圖示
!define MUI_WELCOMEPAGE_TITLE " ${PRODUCT_NAME} ${PRODUCT_VERSION} 安裝向導" ;标題名稱
!define MUI_WELCOMEFINISHPAGE_BITMAP "C:\logo.bmp" ;歡迎向導左側圖示
!define MUI_WELCOMEPAGE_TEXT "  ImageConvert是圖檔處理軟體\r\n\r\n  軟體作者:黃濤 \r\n\r\n  官方網址:http://blog.csdn.net/taoerit\r\n\r\n  $_CLICK"
BrandingText "http://blog.csdn.net/taoerit"

!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\漢化說明.txt"
!define MUI_FINISHPAGE_SHOWREADME_TEXT "漢化說明"


!AddPluginDir "C:\Program Files (x86)\NSIS\Plugins"
!AddIncludeDir "C:\Program Files (x86)\NSIS\Include"
ReserveFile "C:\Program Files (x86)\NSIS\Plugins\ButtonLinker.dll"

;!include MUI2.nsh
;!include ButtonLinkerLib.nsh
;!include UsefulLib.nsh


; 歡迎頁面
!insertmacro MUI_PAGE_WELCOME

; 許可協定頁面
!define MUI_LICENSEPAGE_RADIOBUTTONS
!insertmacro MUI_PAGE_LICENSE "c:\ImageCovert\Licence.txt"   ;許可協定說明


!define MUI_CUSTOMFUNCTION_GUIINIT onGUIInit

; 安裝目錄選擇頁面
!insertmacro MUI_PAGE_DIRECTORY
; 安裝過程頁面
!insertmacro MUI_PAGE_INSTFILES
; 安裝完成頁面
!define MUI_FINISHPAGE_RUN "$INSTDIR\setup.exe" ;程式執行 exe
!insertmacro MUI_PAGE_FINISH

; 安裝解除安裝過程頁面
!insertmacro MUI_UNPAGE_INSTFILES

; 安裝界面包含的語言設定
!insertmacro MUI_LANGUAGE "SimpChinese" ;安裝語言

; 安裝預釋放檔案
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ;
; ------ MUI 現代界面定義結束 ------

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "ImageConvert.exe" ;生成壓縮可執行檔案
InstallDir "$PROGRAMFILES\ImageConvert"
InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString"
ShowInstDetails show
ShowUnInstDetails show

Section "ImageConvert" SEC01
  SetOutPath "$INSTDIR"
  SetOverwrite ifnewer
  File "C:\ImageCovert\setup.exe"
  CreateDirectory "$SMPROGRAMS\ImageConvert"  ;建立開始菜單程式目錄
  CreateShortCut "$SMPROGRAMS\ImageConvert\ImageConvert.lnk" "$INSTDIR\setup.exe" ; 建立程式的連結
  CreateShortCut "$DESKTOP\ImageConvert.lnk" "$INSTDIR\setup.exe" ;建立桌面快捷方式
  File /r "C:\ImageCovert\*.*"
  
SectionEnd

Section -AdditionalIcons
  WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
  CreateShortCut "$SMPROGRAMS\ImageConvert\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url"
  CreateShortCut "$SMPROGRAMS\ImageConvert\Uninstall.lnk" "$INSTDIR\uninst.exe"
  
SectionEnd




Section -Post
  WriteUninstaller "$INSTDIR\uninst.exe"
  WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\setup.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\setup.exe"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}"
  WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}"
SectionEnd

/******************************
 *  以下是安裝程式的解除安裝部分  *
 ******************************/

Section Uninstall
  Delete "$INSTDIR\${PRODUCT_NAME}.url"
  Delete "$INSTDIR\uninst.exe"
  Delete "$INSTDIR\setup.exe"
  Delete "$INSTDIR\*"
  RMDir /r "$INSTDIR"

	Delete "$SMPROGRAMS\ImageConvert\Uninstall.lnk"
  Delete "$SMPROGRAMS\ImageConvert\Website.lnk"
  Delete "$DESKTOP\ImageConvert.lnk"
  Delete "$SMPROGRAMS\ImageConvert\ImageConvert.lnk"
  Delete "$INSTDIR\${PRODUCT_NAME}.url"

 
  
  Delete "C:\programdata\Microsoft\Windows\Start Menu\Programs\ImageConvert\*"
  RMDIR "C:\programdata\Microsoft\Windows\Start Menu\Programs\ImageConvert"

  RMDir /r "$INSTDIR\Themes"
  RMDir /r "$INSTDIR\Plugins"
  RMDir /r "$INSTDIR\Language"
  Delete "$SMPROGRAMS\ImageConvert\*"
  RMDir /r "$SMPROGRAMS\ImageConvert"

;DeleteRegKey /ifempty HKCU "Software\Modern UI Test"

  DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
  DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
  SetAutoClose true

SectionEnd

#-- 根據 NSIS 腳本編輯規則,所有 Function 區段必須放置在 Section 區段之後編寫,以避免安裝程式出現未可預知的問題。--#

Function onGUIInit
 BrandingURL::Set /NOUNLOAD "200" "0" "0" "http://blog.csdn.net/taoerit"
FunctionEnd



Function un.onInit
  MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确實要完全移除 $(^Name) ,及其所有的元件?" IDYES +2
  Abort
FunctionEnd

Function un.onUninstSuccess
  HideWindow
  MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地從您的計算機移除。"
FunctionEnd