欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

提供修復界面的NSIS安裝包

系統 2502 0

; 該腳本由邦畿千里制作,可自由傳播使用 QQ:911377

提供修復界面的NSIS安裝包

下載源碼

!include "LogicLib.nsh"

; 安裝背景及文字
!define PRODUCT_TEXT_KEY "(邦畿千里)"
!define PRODUCT_TEXT_BACK "resource/back.bmp"
!define PRODUCT_TEXT_PROXCY "現無償提供給NSIS愛好者使用!"
!define PRODUCT_TEXT_TEL "QQ:911137"
!define PRODUCT_TEXT_AREA "1.自動監測,修復,安裝,刪除!"
!define PRODUCT_TEXT_INTRUDUCE "2.自由替換圖片、背景,注冊動態庫,執行Exe多種功能!"


; 安裝程序初始定義常量
!define PRODUCT_PATH "邦畿千里系列軟件"
!define PRODUCT_NAME "邦畿千里畫圖軟件"
!define PRODUCT_MAINEXE "mspaint.exe"
!define PRODUCT_VERSION "2008"
!define PRODUCT_PUBLISHER "邦畿千里"
!define PRODUCT_WEB_SITE " http://www.baidu.com "
!define PRODUCT_REGRUN "Software/Microsoft/Windows/CurrentVersion/Run"
!define PRODUCT_DIR_REGKEY "Software/Microsoft/Windows/CurrentVersion/App Paths/${PRODUCT_PUBLISHER}/${PRODUCT_NAME}"
!define PRODUCT_UNINST_KEY "Software/Microsoft/Windows/CurrentVersion/Uninstall/${PRODUCT_TEXT_KEY}${PRODUCT_NAME}"
!define PRODUCT_UNINST_ROOT_KEY "HKLM"

SetCompressor lzma

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

; MUI 預定義常量
;--------------------------------
;Interface Configuration
!define MUI_ABORTWARNING
;安裝圖標
!define MUI_ICON "resource/install.ico"
;卸載圖標
!define MUI_UNICON "resource/uninstall.ico"
;上部圖片
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "resource/header.bmp"
;左側圖片
!define MUI_WELCOMEFINISHPAGE_BITMAP "resource/left.bmp"
!define MUI_WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "resource/left.bmp"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP_NOSTRETCH
;頁面加載之前進行初始化
!define MUI_CUSTOMFUNCTION_GUIINIT ".onGUIBegin"

;-------------修復頁面變量定義-----------------------
!include nsDialogs.nsh
Var UninstallFileName
Var RADIO_REPAIR
Var RADIO_REMOVE
Var Checkbox_State_REPAIR
Var Checkbox_State_REMOVE
Var Checkbox_State

;-------------頁面定義---------------------------
; 歡迎頁面
!insertmacro MUI_PAGE_WELCOME
; 修復頁面
Page custom nsDialogsRepair nsDialogsRepairLeave
; 許可協議頁面
!insertmacro MUI_PAGE_LICENSE "resource/licence.txt"
; 安裝目錄選擇頁面
!insertmacro MUI_PAGE_DIRECTORY
; 安裝過程頁面
!insertmacro MUI_PAGE_INSTFILES
; 安轉完成后自動運行文件
!define MUI_FINISHPAGE_RUN "$INSTDIR/${PRODUCT_MAINEXE}"
; 安裝完成頁面
!insertmacro MUI_PAGE_FINISH
; 安裝卸載確認頁面
!insertmacro MUI_UNPAGE_CONFIRM
; 安裝卸載過程頁面
!insertmacro MUI_UNPAGE_INSTFILES
; 安裝卸載完成頁面
!insertmacro MUI_UNPAGE_FINISH
; 安裝預釋放文件
!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS
; 安裝界面包含的語言設置
!insertmacro MUI_LANGUAGE "SimpChinese"
; ------ MUI 現代界面定義結束 ------

Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${PRODUCT_NAME} ${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES/${PRODUCT_PATH}/${PRODUCT_NAME}"
InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString"
ShowInstDetails hide
ShowUnInstDetails hide
BrandingText ${PRODUCT_PUBLISHER}

; 激活安裝日志記錄,該日志文件將會作為卸載文件的依據(注意,本區段必須放置在所有區段之前)
Section "-LogSetOn"
LogSet on
SectionEnd

Section "!主程序" SEC01
SectionIn RO
SetOutPath "$INSTDIR"
SetOverwrite ifnewer
CreateDirectory "$SMPROGRAMS/${PRODUCT_PATH}/${PRODUCT_NAME}"
; 創建開始菜單快捷方式
CreateShortCut "$SMPROGRAMS/${PRODUCT_PATH}/${PRODUCT_NAME}/${PRODUCT_NAME}.lnk" "$INSTDIR/${PRODUCT_MAINEXE}"
; 創建桌面快捷方式
CreateShortCut "$DESKTOP/${PRODUCT_NAME}.lnk" "$INSTDIR/${PRODUCT_MAINEXE}"
File "Program/Main/mspaint.exe"
SectionEnd

Section "-系統文件" SEC02
SectionIn RO
; 關閉日志,以保證不被卸載掉,主要用于公用文件
LogSet off
SetOutPath "$SYSDIR"
SetOverwrite ifnewer
File "Program/System/midas.dll"
; 注冊動態庫
regdll $SYSDIR/midas.dll
LogSet on
SectionEnd

/******************************
* 創建卸載快捷方式 *
******************************/
Section -AdditionalIcons
; 創建開始菜單卸載快捷方式
CreateShortCut "$SMPROGRAMS/${PRODUCT_PATH}/${PRODUCT_NAME}/Uninstall.lnk" "$INSTDIR/uninst.exe"
SectionEnd

/******************************
* 寫注冊表 *
******************************/
Section -Post
WriteUninstaller "$INSTDIR/uninst.exe"
; 系統啟動自動運行軟件
WriteRegStr HKLM "${PRODUCT_REGRUN}" "${PRODUCT_NAME}" "$INSTDIR/${PRODUCT_MAINEXE}"
WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR/${PRODUCT_MAINEXE}"
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/${PRODUCT_MAINEXE}"
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

/******************************
* 以下是安裝程序的初始和結束部分 *
******************************/

; 頁面加載之前進行初始化
Function .onInit
ReadRegStr $UninstallFileName ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString"
FunctionEnd

; 啟動背景
Function .onGUIBegin
BgImage::SetBg /NOUNLOAD /FILLSCREEN ${PRODUCT_TEXT_BACK}
CreateFont $R0 "Comic Sans MS" 30 400
BgImage::AddText /NOUNLOAD "${PRODUCT_NAME}" $R0 0 0 255 48 18 798 198

CreateFont $R3 "Comic Sans MS" 10 100
BgImage::AddText /NOUNLOAD ${PRODUCT_TEXT_AREA} $R3 0 0 255 88 78 798 198
CreateFont $R4 "Comic Sans MS" 10 100
BgImage::AddText /NOUNLOAD ${PRODUCT_TEXT_INTRUDUCE} $R4 0 0 255 88 98 798 198

CreateFont $R1 "Comic Sans MS" 20 200
BgImage::AddText /NOUNLOAD ${PRODUCT_TEXT_PROXCY} $R1 0 0 255 68 118 798 198
CreateFont $R2 "Comic Sans MS" 20 200
BgImage::AddText /NOUNLOAD ${PRODUCT_TEXT_TEL} $R2 0 0 255 68 158 798 198

BgImage::Redraw /NOUNLOAD
FunctionEnd

; 銷毀啟動背景
Function .onGUIEnd
BgImage::Destroy
FunctionEnd

/******************************
* 以下是安裝程序的卸載部分 *
******************************/

; 根據安裝日志卸載文件的調用宏
!macro DelFileByLog LogFile
ifFileExists `${LogFile}` 0 +4
Push `${LogFile}`
Call un.DelFileByLog
Delete `${LogFile}`
!macroend

Section Uninstall

; 調用宏只根據安裝日志卸載安裝程序自己安裝過的文件
!insertmacro DelFileByLog "$INSTDIR/install.log"

; 清除安裝程序創建的且在卸載時可能為空的子目錄,對于遞歸添加的文件目錄,請由最內層的子目錄開始清除(注意,不要帶 /r 參數,否則會失去 DelFileByLog 的意義)
RMDir "$SMPROGRAMS/${PRODUCT_PATH}/${PRODUCT_NAME}"
RMDir "$SMPROGRAMS/${PRODUCT_PATH}"

RMDir "$INSTDIR"

DeleteRegValue HKLM "${PRODUCT_REGRUN}" "${PRODUCT_NAME}"
DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
SetAutoClose true
SectionEnd

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

; 以下是卸載程序通過安裝日志卸載文件的專用函數,請不要隨意修改
Function un.DelFileByLog
Exch $R0
Push $R1
Push $R2
Push $R3
FileOpen $R0 $R0 r
${Do}
FileRead $R0 $R1
${IfThen} $R1 == `` ${|} ${ExitDo} ${|}
StrCpy $R1 $R1 -2
StrCpy $R2 $R1 11
StrCpy $R3 $R1 20
${If} $R2 == "File: wrote"
${OrIf} $R2 == "File: skipp"
${OrIf} $R3 == "CreateShortCut: out:"
${OrIf} $R3 == "created uninstaller:"
Push $R1
Push `"`
Call un.DelFileByLog.StrLoc
Pop $R2
${If} $R2 != ""
IntOp $R2 $R2 + 1
StrCpy $R3 $R1 "" $R2
Push $R3
Push `"`
Call un.DelFileByLog.StrLoc
Pop $R2
${If} $R2 != ""
StrCpy $R3 $R3 $R2
Delete /REBOOTOK $R3
${EndIf}
${EndIf}
${EndIf}
StrCpy $R2 $R1 7
${If} $R2 == "Rename:"
Push $R1
Push "->"
Call un.DelFileByLog.StrLoc
Pop $R2
${If} $R2 != ""
IntOp $R2 $R2 + 2
StrCpy $R3 $R1 "" $R2
Delete /REBOOTOK $R3
${EndIf}
${EndIf}
${Loop}
FileClose $R0
Pop $R3
Pop $R2
Pop $R1
Pop $R0
FunctionEnd

Function un.DelFileByLog.StrLoc
Exch $R0
Exch
Exch $R1
Push $R2
Push $R3
Push $R4
Push $R5
StrLen $R2 $R0
StrLen $R3 $R1
StrCpy $R4 0
${Do}
StrCpy $R5 $R1 $R2 $R4
${If} $R5 == $R0
${OrIf} $R4 = $R3
${ExitDo}
${EndIf}
IntOp $R4 $R4 + 1
${Loop}
${If} $R4 = $R3
StrCpy $R0 ""
${Else}
StrCpy $R0 $R4
${EndIf}
Pop $R5
Pop $R4
Pop $R3
Pop $R2
Pop $R1
Exch $R0
FunctionEnd

/******************************
* 以下是安裝程序的修復部分 *
******************************/

Function nsDialogsRepairLeave
${NSD_GetState} $RADIO_REPAIR $Checkbox_State_REPAIR
${NSD_GetState} $RADIO_REMOVE $Checkbox_State_REMOVE
${If} $Checkbox_State_REMOVE == ${BST_CHECKED}
Exec $UninstallFileName
Quit
${EndIf}
FunctionEnd

Function nsDialogsRepair
${if} $UninstallFileName == ""
Abort
${EndIf}
!insertmacro MUI_HEADER_TEXT "已經安裝" "選擇您要執行的操作"

nsDialogs::Create /NOUNLOAD 1018

${NSD_CreateLabel} 10u 0u 300u 30u "軟件已經安裝,請選擇您要執行的操作,并點擊『下一步(N)』繼續"

${NSD_CreateRadioButton} 40u 30u 100u 30u "修復或重新安裝"
Pop $RADIO_REPAIR
${If} $Checkbox_State_REPAIR == ${BST_CHECKED}
${NSD_Check} $RADIO_REPAIR
${NSD_GetState} $RADIO_REPAIR $Checkbox_State
${EndIf}

${NSD_CreateRadioButton} 40u 60u 100u 30u "卸載"
Pop $RADIO_REMOVE
${If} $Checkbox_State_REMOVE == ${BST_CHECKED}
${NSD_Check} $RADIO_REMOVE
${NSD_GetState} $RADIO_REMOVE $Checkbox_State
${EndIf}

${If} $Checkbox_State <> ${BST_CHECKED}
${NSD_Check} $RADIO_REPAIR
${EndIf}
nsDialogs::Show
FunctionEnd

提供修復界面的NSIS安裝包


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人欧美s视频在线观看 | 色综合日韩 | 性色成人网 | 人人亚洲| 国产亚洲一区二区三区在线观看 | 男女激情动态视频 | 久久99国产综合精品 | 蜜桃视频一区 | 亚洲欧美在线视频 | 欧美视频观看 | 欧美区日韩区 | 天堂在线中文 | 涩涩天堂 | 婷婷在线视频 | 日韩一级视频 | 亚洲成人网在线观看 | 免费观看一区二区三区毛片 | 69久久 | 日韩电影第一页 | 91精品国产亚洲爽啪在线观看 | 日韩欧美中文字幕视频 | 欧美一级片在线看 | 国产在线观看www鲁啊鲁免费 | 精品久 | 天堂福利电影 | 冰封侠:时空行者 | 污污的网站免费观看 | 韩国女主播青草在线观看 | 久久久免费的精品 | yw在线播放 | 久久精品人人做人人爽 | 国产福利在线免费 | 精品国产不卡一区二区三区 | 站长推荐国产午夜免费视频 | 色老头综合网 | 国产精品91在线播放 | 久久亚洲美女久久久久 | 2018天天干夜夜操 | 日日摸夜夜摸狠狠摸日日碰夜夜做 | 成人欧美在线观看 | 日韩欧美福利视频 |