首页 > 其他 > 详细

NSIS:卸载加密码示例

时间:2014-04-08 22:07:44      阅读:1007      评论:0      收藏:0      [点我收藏+]

原文 NSIS:卸载加密码示例

最近有几个同学问我关于卸载时加密码的问题,其实很简单,懂点基础就可以根据安装加密码那篇文章http://www.flighty.cn/html/bushu/20100928_99.html来改写一下了,现在我把这个发出来,希望能够帮助到大家,也希望大家能够常来帮我点点广告呵。

 

直接上代码:(如果编译失败可能是因为缺少插件,请下载NSIS集成增强版http://www.flighty.cn/html/soft/20100429_76.html)

001 /*
002 卸载加密码示例 by 少轻狂
004 */
005  
006 !define PRODUCT_NAME "卸载加密码示例"
007 !define PRODUCT_VERSION "1.0"
008 !define PRODUCT_PUBLISHER "My company, Inc."
009 !define PRODUCT_WEB_SITE "http://www.flighty.cn"
010 !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\AppMainExe.exe"
011 !define PRODUCT_UNINST_KEY"Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
012 !define PRODUCT_UNINST_ROOT_KEY "HKLM"
013  
014 SetCompressor lzma
015 SetFont "tahoma" 8
016 RequestExecutionLevel admin
017  
018 !include "MUI2.nsh"
019  
020 !define MUI_ABORTWARNING
021 !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
022 !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
023 ;卸载密码
024 !define Password "123"
025  
026 !insertmacro MUI_PAGE_WELCOME
027 !insertmacro MUI_PAGE_DIRECTORY
028 !insertmacro MUI_PAGE_INSTFILES
029 !insertmacro MUI_PAGE_FINISH
030  
031 ;卸载密码输入页面
032 UninstPage Custom un.PasswordPageShow un.PasswordPageLeave
033 !insertmacro MUI_UNPAGE_CONFIRM
034 !insertmacro MUI_UNPAGE_INSTFILES
035  
036 !insertmacro MUI_LANGUAGE "SimpChinese"
037  
038 Name "${PRODUCT_NAME} ${PRODUCT_VERSION}"
039 OutFile "Setup.exe"
040 InstallDir "$PROGRAMFILES\卸载加密码示例"
041 InstallDirRegKey HKLM "${PRODUCT_UNINST_KEY}" "UninstallString"
042 ShowInstDetails show
043 ShowUnInstDetails show
044  
045 Section "MainSection" SEC01
046   SetOutPath "$INSTDIR"
047   SetOverwrite ifnewer
048   CreateDirectory "$SMPROGRAMS\卸载加密码示例"
049 SectionEnd
050  
051 Section -AdditionalIcons
052   CreateDirectory "$SMPROGRAMS\卸载加密码示例"
053   CreateShortCut "$SMPROGRAMS\卸载加密码示例\Uninstall.lnk""$INSTDIR\uninst.exe"
054 SectionEnd
055  
056 Section -Post
057   WriteUninstaller "$INSTDIR\uninst.exe"
058   WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\AppMainExe.exe"
059   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}""DisplayName" "$(^Name)"
060   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}""UninstallString" "$INSTDIR\uninst.exe"
061   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}""DisplayIcon" "$INSTDIR\AppMainExe.exe"
062   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}""DisplayVersion" "${PRODUCT_VERSION}"
063   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}""URLInfoAbout" "${PRODUCT_WEB_SITE}"
064   WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}""Publisher" "${PRODUCT_PUBLISHER}"
065 SectionEnd
066  
067 /******************************
068  *  以下是安装程序的卸载部分  *
069  ******************************/
070  
071 Section Uninstall
072   Delete "$INSTDIR\uninst.exe"
073  
074   Delete "$SMPROGRAMS\卸载加密码示例\Uninstall.lnk"
075  
076   RMDir "$SMPROGRAMS\卸载加密码示例"
077  
078   RMDir "$INSTDIR"
079  
080   DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}"
081   DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}"
082   SetAutoClose true
083 SectionEnd
084  
085 Function un.onUninstSuccess
086   HideWindow
087   MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。"
088 FunctionEnd
089  
090 ;显示密码对话框
091 Function un.PasswordPageShow
092   !insertmacro MUI_HEADER_TEXT "输入密码" "卸载程序需要输入一个正确的密码以防止误操作。"
093   PassDialog::InitDialog /NOUNLOAD Password /HEADINGTEXT "少轻狂提示:卸载密码是123。" /GROUPTEXT "密码输入框"
094   Pop $R0
095   SendMessage $R1 ${EM_SETPASSWORDCHAR} 178 0
096   PassDialog::Show
097 FunctionEnd
098  
099 ;验证密码
100 Function un.PasswordPageLeave
101   ;从堆栈取出密码
102   Pop $R0
103   ;密码错误
104   StrCmp $R0 ‘${Password}‘ +3
105   MessageBox MB_OK|MB_ICONEXCLAMATION "密码输入错误!请输入正确的卸载密码!"
106   Abort
107 FunctionEnd

NSIS:卸载加密码示例,布布扣,bubuko.com

NSIS:卸载加密码示例

原文:http://www.cnblogs.com/lonelyxmas/p/3652188.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!