1、使用 HM VNISEdit 脚本编辑器向导; 该脚本使用 HM VNISEdit 脚本编辑器向导产生; 安装程序初始定义常量!define PRODUCT_NAME 流氓工具箱!define PRODUCT_VERSION 2.5!define PRODUCT_PUBLISHER 流氓猴孓!define PRODUCT_WEB_SITE http:/hi.baidu.cm/amulin202!define PRODUCT_DIR_REGKEY SoftwareMicrosoftWindowsCurrentVersionApp PathsResHacker.exe!define PRODUCT
2、_UNINST_KEY SoftwareMicrosoftWindowsCurrentVersionUninstall$PRODUCT_NAME!define PRODUCT_UNINST_ROOT_KEY HKLMSetCompressor lzma;添加安装类型,最多好像是可以8个,没测试过InstType 官方版InstType 美化版;InstType /COMPONENTSONLYONCUSTOM ;关闭安装组件列表;InstType /NOCUSTOM ;删除“自定义”安装选项; - MUI 现代界面定义 (1.67 版本以上兼容) -!include MUI.nsh;!inclu
3、de Sections.nsh ;添加包含文件; MUI 预定义常量!define MUI_ABORTWARNING!define MUI_ICON $NSISDIRContribGraphicsIconsmodern-install.ico ;安装程序图标!define MUI_UNICON $NSISDIRContribGraphicsIconsmodern-uninstall.ico ;卸载程序图标!define MUI_HEADERIMAGE!define MUI_HEADERIMAGE_RIGHT!define MUI_HEADERIMAGE_BITMAP $NSISDIRContr
4、ibGraphicsHeadernsis.bmp ;这三行是定义左侧图片; 欢迎页面!insertmacro MUI_PAGE_WELCOME; 许可协议页面!insertmacro MUI_PAGE_LICENSE D:MonkeyNSIS工单.txt; 组件选择页面!insertmacro MUI_PAGE_COMPONENTS; 安装目录选择页面!insertmacro MUI_PAGE_DIRECTORY; 安装过程页面!insertmacro MUI_PAGE_INSTFILES; 安装完成页面!define MUI_FINISHPAGE_RUN $INSTDIRResHacker.
5、exe!insertmacro MUI_PAGE_FINISH; 安装卸载过程页面!insertmacro MUI_UNPAGE_INSTFILES; 安装界面包含的语言设置!insertmacro MUI_LANGUAGE SimpChinese; 安装预释放文件!insertmacro MUI_RESERVEFILE_INSTALLOPTIONS; - MUI 现代界面定义结束 -Name $PRODUCT_NAME $PRODUCT_VERSIONOutFile 安装程序.exeInstallDir $PROGRAMFILES流氓工具箱InstallDirRegKey HKLM $PRO
6、DUCT_UNINST_KEY UninstallStringShowInstDetails showShowUnInstDetails showBrandingText Hoodlum StudioSection !主程序SectionIn RO ;SectionIn RO表示必选,用户无法修改SetOutPath $INSTDIR ;释放目录SetOverwrite on ;覆盖方式File D:MonkeyResHacker.exe ;源文件目录CreateDirectory $SMPROGRAMS流氓工具箱CreateShortCut $SMPROGRAMS流氓工具箱流氓工具箱.lnk
7、 $INSTDIRResHacker.exeCreateShortCut $DESKTOP流氓工具箱.lnk $INSTDIRResHacker.exeSectionEndSectionGroup 皮肤 Skins ;定义一个组区段,区段名为皮肤,代号为SkinsSection 蓝色皮肤 a ;定义一个独立区段,该区段属当前Group下级菜单,a为该区段代号SectionIn 1 ;设置在选择第一种安装类型的时候,该区段默认选中,1在这边就是指“官方版”File D:MonkeyeXeScope6.50.exeSectionEndSection /o 酷黑皮肤 b ;Section /o 表示
8、可选安装,默认情况下,选项为被选中,用此方法来取消默认选中SectionIn 2File D:MonkeyMoleBox.exeSectionEnd ;独立区段结束标志SectionGroupEnd ;组区段结束标志SectionGroup 图标 Icon ;第二个组区段,icon为该组区段的代号Section 蓝色托盘 xSectionIn 1File D:MonkeyRefreshIcon.exeSectionEndSection /o 酷黑托盘 ySectionIn 2File D:MonkeyGetIcon.exeSectionEndSectionGroupEndSection -Ad
9、ditionalIconsWriteIniStr $INSTDIR$PRODUCT_NAME.url InternetShortcut URL $PRODUCT_WEB_SITECreateShortCut $SMPROGRAMS流氓工具箱Website.lnk $INSTDIR$PRODUCT_NAME.urlCreateShortCut $SMPROGRAMS流氓工具箱Uninstall.lnk $INSTDIRuninst.exeSectionEndSection -PostWriteUninstaller $INSTDIRuninst.exeWriteRegStr HKLM $PROD
10、UCT_DIR_REGKEY $INSTDIRResHacker.exeWriteRegStr $PRODUCT_UNINST_ROOT_KEY $PRODUCT_UNINST_KEY DisplayName $(Name)WriteRegStr $PRODUCT_UNINST_ROOT_KEY $PRODUCT_UNINST_KEY UninstallString $INSTDIRuninst.exeWriteRegStr $PRODUCT_UNINST_ROOT_KEY $PRODUCT_UNINST_KEY DisplayIcon $INSTDIRResHacker.exeWriteRe
11、gStr $PRODUCT_UNINST_ROOT_KEY $PRODUCT_UNINST_KEY DisplayVersion $PRODUCT_VERSIONWriteRegStr $PRODUCT_UNINST_ROOT_KEY $PRODUCT_UNINST_KEY URLInfoAbout $PRODUCT_WEB_SITEWriteRegStr $PRODUCT_UNINST_ROOT_KEY $PRODUCT_UNINST_KEY Publisher $PRODUCT_PUBLISHERSectionEnd#- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在
12、 Section 区段之后编写,以避免安装程序出现未可预知的问题。-#; 区段组件描述,省略了xy的区段描述!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN!insertmacro MUI_DESCRIPTION_TEXT $a 腾讯QQ主程序,必须安装!!insertmacro MUI_DESCRIPTION_TEXT $b FinePlus外挂,选择安装!insertmacro MUI_FUNCTION_DESCRIPTION_END;关键的在这边Function .onInitStrCpy $1 $a ;设置默认选中第一个组区段的a独立区段StrCp
13、y $2 $x ;设置默认选中第二个组区段的x独立区段FunctionEnd;以下是互斥选择,简单的说就是只能选一个,选A就不能选BFunction .onSelChange;以下是设置第一个组区段 !insertmacro StartRadioButtons $1 !insertmacro RadioButton $a !insertmacro RadioButton $b!insertmacro EndRadioButtons;以下是设置第二个组区段!insertmacro StartRadioButtons $2 !insertmacro RadioButton $x !insertma
14、cro RadioButton $y!insertmacro EndRadioButtonsFunctionEnd/* 以下是安装程序的卸载部分 */Section UninstallDelete $INSTDIR$PRODUCT_NAME.urlDelete $INSTDIRuninst.exeDelete $INSTDIRMoleBox.exeDelete $INSTDIReXeScope6.50.exeDelete $INSTDIRResHacker.exeDelete $INSTDIRRefreshIcon.exeDelete $INSTDIRGetIcon.exeDelete $SM
15、PROGRAMS流氓工具箱Uninstall.lnkDelete $SMPROGRAMS流氓工具箱Website.lnkDelete $DESKTOP流氓工具箱.lnkDelete $SMPROGRAMS流氓工具箱流氓工具箱.lnkRMDir $SMPROGRAMS流氓工具箱RMDir $INSTDIRDeleteRegKey $PRODUCT_UNINST_ROOT_KEY $PRODUCT_UNINST_KEYDeleteRegKey HKLM $PRODUCT_DIR_REGKEYSetAutoClose trueSectionEnd#- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。-#Function un.onInitMessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 您确实要完全移除 $(Name) ,及其所有的组件? IDYES +2AbortFunctionEndFunction un.onUninstSuccessHideWindowMessageBox MB_ICONINFORMATION|MB_OK $(Name) 已成功地从您的计算机移除。FunctionEnd
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1