前面我们提到了NSIS
的界面自定义、服务器检测已经系统判断,现在我们说下,NSIS
最基本的美化教程。
1、正常情况我安装自动向导打包出来的软件打开来的是欢迎界面
2、我们在点击了下一步出现的是
3、这时候我们点击安装就会进入安装进度条界面(这里不在截图),因为向导安装不是重点,下面我们说下个性美化
4、美化第一修改logo图和位图(logo即安装程序生成的图标,位图就是我们在第二张图片看到的左边的那个图片),怎么修改的,这里贴出代码
在源代码: ; MUI Settings !define MUI_ABORTWARNING !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" 下面添加: !define MUI_WELCOMEFINISHPAGE_BITMAP "C:\util\nsis_uis\流年测试.bmp" C:\util\nsis_uis\ceshi.bmp是位图的路径,位图大小大约为169×257,而默认的NSIS该图的大小为164×314,从而产生一定比例的伸缩,因此最好采用164×314的尺寸。logo最好用透明底色 修改源代码: !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" 为: !define MUI_ICON "C:\util\nsis_uis\安装.ico" !define MUI_UNICON "C:\util\nsis_uis\卸载.ico" 5、这里我们把位图和logo已经修改完成,下来我们要修改第二张图的右边向导文字 !define MUI_WELCOMEPAGE_TITLE "\r\n 欢迎使用流年测试1.0-安装示例向导" 注释: \r\n为换行标志 其中流年测试哪一行自己在源码中找自行修改 6、接下来我们就要修改软件介绍了 接着上面的代码,在下面添加: !define MUI_WELCOMEPAGE_TEXT " 欢迎使用流年测试1.0-安装示例是流年开发的一个NSIS安装示例软件。\r\n\r\n 软件作者:流年博客 \r\n\r\n 官方网址:http://izmm.me\r\n\r\n $_CLICK" 7、接下来我们修改品牌文本(即第三张图左下角横线上的文字) 在源代码: ShowInstDetails show ShowUnInstDetails show 后添加: BrandingText " 流年博客 http://izmm.me" 8、最后我们应该修改下打包软件的名称(即Setup.exe) 修改源代码 OutFile "Setup.exe" 为 OutFile "${PRODUCT_NAME}.exe" 或 OutFile "自定义.exe" 到这里我们基本已经修改完成了。可是实现自己的软件包了,刚快去尝试一下,下面是未修改前的源码请自行查看 ; 该脚本使用 HM VNISEdit 脚本编辑器向导产生 ; 安装程序初始定义常量 !define PRODUCT_NAME "流年测试" !define PRODUCT_VERSION "1.0" !define PRODUCT_PUBLISHER "My company, Inc." !define PRODUCT_WEB_SITE "http://www.mycompany.com" !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 "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" ; 欢迎页面 !insertmacro MUI_PAGE_WELCOME ; 许可协议页面 ;!insertmacro MUI_PAGE_LICENSE "c:\path\to\licence\YourSoftwareLicence.txt" ; 安装目录选择页面 !insertmacro MUI_PAGE_DIRECTORY ; 安装过程页面 !insertmacro MUI_PAGE_INSTFILES ; 安装完成页面 !insertmacro MUI_PAGE_FINISH ; 安装卸载过程页面 !insertmacro MUI_UNPAGE_INSTFILES ; 安装界面包含的语言设置 !insertmacro MUI_LANGUAGE "SimpChinese" ; 安装预释放文件 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ; ------ MUI 现代界面定义结束 ------ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "Setup.exe" InstallDir "$PROGRAMFILES\My application" ShowInstDetails show ShowUnInstDetails show Section "MainSection" SEC01 SetOutPath "$INSTDIR" SetOverwrite ifnewer File "C:\Users\流年\Desktop\nsis.jpg" SectionEnd Section -AdditionalIcons WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" CreateDirectory "$SMPROGRAMS\My application" CreateShortCut "$SMPROGRAMS\My application\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" CreateShortCut "$SMPROGRAMS\My application\Uninstall.lnk" "$INSTDIR\uninst.exe" SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.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}" "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\nsis.jpg" Delete "$SMPROGRAMS\My application\Uninstall.lnk" Delete "$SMPROGRAMS\My application\Website.lnk" RMDir "$SMPROGRAMS\My application" RMDir "$INSTDIR" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" SetAutoClose true SectionEnd #-- 根据 NSIS 脚本编辑规则,所有 Function 区段必须放置在 Section 区段之后编写,以避免安装程序出现未可预知的问题。--# 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
正文到此结束
版权声明:本文中使用的部分内容来自于网络,如有侵权,请联系《博主》进行删除
LEAVE A REPLY