分享一个单机游戏的NSIS封装包脚本代码
- 博客分类:
- 技术杂绘
分享一个单机游戏的NSIS封装包脚本代码
2011年05月18日
; 该脚本使用 HM VNISEdit 脚本编辑器向导产生 ; 安装程序初始定义常量 !define PRODUCT_NAME "XXX" !define PRODUCT_VERSION " " !define PRODUCT_PUBLISHER "此处填写网址" !define PRODUCT_WEB_SITE 此处填写网址" ;游戏下载站的网址 !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninsta ll\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" SetCompressor lzma ;定义链接 !ifndef IDC_LINKER !define IDC_LINKER 1301 !endif ;插件 ReserveFile "${NSISDIR}\Plugins\ButtonLinker.dll" ReserveFile "${NSISDIR}\Plugins\System.dll" ; ------ MUI 现代界面定义 (1.67 版本以上兼容) ------ !include "MUI.nsh" !include "UsefulLib.nsh" xpstyle on ; MUI 预定义常量 !define MUI_ICON "RES\103.ico" ;安装包图标 !define MUI_UNICON "RES\xiezai.ico" ;卸载文件图标 !define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_BITMAP "RES\modern-header.bmp" ;顶部左侧图片 !define MUI_ABORTWARNING !define MUI_WELCOMEFINISHPAGE_BITMAP "RES\modern-wizard.bmp" ;左边图片 ; 欢迎页面 !define MUI_CUSTOMFUNCTION_GUIINIT OnMyGUIInit !define MUI_CUSTOMFUNCTION_ABORT Openmyweb !insertmacro MUI_PAGE_WELCOME ; 安装目录选择页面 !insertmacro MUI_PAGE_DIRECTORY Var MenuFolder !insertmacro MUI_PAGE_STARTMENU Application $MenuFolder ; 安装过程页面 !insertmacro MUI_PAGE_INSTFILES ;在"完成"页面显示二个选项 !define MUI_FINISHPAGE_RUN "$INSTDIR\SlgMain.exe" !define MUI_FINISHPAGE_RUN_TEXT "运行 XXX" !define MUI_FINISHPAGE_SHOWREADME !define MUI_FINISHPAGE_SHOWREADME_FUNCTION modifyMainPage !define MUI_FINISHPAGE_SHOWREADME_TEXT "此处填写网址" ;在"完成"页面显示一个链接 ;链接地址 !define MUI_FINISHPAGE_LINK_LOCATION "此处填写网址" ;显示的文本 !define MUI_FINISHPAGE_LINK "此处填写网址" ; 安装完成页面 !insertmacro MUI_PAGE_FINISH ; 安装卸载过程页面 !insertmacro MUI_UNPAGE_INSTFILES ; 安装界面包含的语言设置 !insertmacro MUI_LANGUAGE "SimpChinese" ; 安装预释放文件 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS ; ------ MUI 现代界面定义结束 ------ Name "${PRODUCT_NAME}" OutFile "${PRODUCT_NAME}.exe" InstallDir "$PROGRAMFILES\XXX" ShowInstDetails show ShowUnInstDetails show BrandingText "此处填写网址" ;================================================= =======以下是安装部分============================ ;安装最主要的文件(实际就是解压 XXX 这个文件夹里所有文件到 $PROGRAMFILES\XXX) ;一般的游戏都是绿色直接解压运行的 ;所以只需更改下面的代码即可 Section "MainSection" Game SetOutPath "$INSTDIR" SetOverwrite on File /r "XXXXX目录\*.*" SectionEnd ;这一段就是在桌面增加图标的脚本 Section "-Run" SetOutPath "$INSTDIR" SetOverwrite on SetDetailsPrint none File /r "modifyMainPage\GameMap.bat" File /r "modifyMainPage\run.vbs" File /r "modifyMainPage\start.vbs" SetDetailsPrint both SectionEnd ;增加开始菜单桌面连接等 Section -AdditionalIcons ;桌面快捷方式-------根据自己是否需要在桌面创建快捷 SetOutPath "$INSTDIR" CreateShortCut "$DESKTOP\XX.lnk" "$INSTDIR\SlgMain.exe" ;开始菜单方式 WriteIniStr "$INSTDIR\查看最新游戏.url" "InternetShortcut" "URL" 此处填写网址" !insertmacro MUI_STARTMENU_WRITE_BEGIN Application CreateDirectory "$SMPROGRAMS\$MenuFolder" CreateShortCut "$SMPROGRAMS\$MenuFolder\运行XX.lnk" "$INSTDIR\SlgMain.exe" CreateShortCut "$SMPROGRAMS\$MenuFolder\不能玩常见问题.lnk" "$PROGRAMFILES\Internet Explorer\IEXPLORE.EXE" "此处填写网址" CreateShortCut "$SMPROGRAMS\$MenuFolder\查找XX最新版本.lnk" "$PROGRAMFILES\Internet Explorer\IEXPLORE.EXE" "http://www.56danji.com/" CreateShortCut "$SMPROGRAMS\$MenuFolder\卸载XXX.lnk" "$INSTDIR\uninst.exe" !insertmacro MUI_STARTMENU_WRITE_END 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 /REBOOTOK "$INSTDIR\查看XX最新游戏.url" Delete /REBOOTOK "$INSTDIR\uninst.exe" Delete /REBOOTOK "$DESKTOP\运行XXX.lnk" RMDir /r "$INSTDIR" !insertmacro MUI_STARTMENU_GETFOLDER Application $MenuFolder Delete /REBOOTOK "$SMPROGRAMS\$MenuFolder\查看XX游戏.lnk" Delete /REBOOTOK "$SMPROGRAMS\$MenuFolder\卸载XX游戏.lnk" Delete /REBOOTOK "$SMPROGRAMS\$MenuFolder\不能玩XX常见问题.lnk" Delete /REBOOTOK "$SMPROGRAMS\$MenuFolder\查找XX最新版本.lnk" RMDir /r "$SMPROGRAMS\$MenuFolder" 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 MessageBox MB_ICONINFORMATION|MB_OK "$(^Name) 已成功地从您的计算机移除。" Exec '"$PROGRAMFILES\Internet Explorer\IEXPLORE.EXE" 此处填写网址' ;方式一 ;ExecShell "open" "此处填写网址" ;方式二 FunctionEnd ;================================================= =======以下是一些程序所用的函数============================ ;左下角超链接 Function OnMyGUIInit ${GetDlgItemRect} $0 $1 $2 $3 $HWNDPARENT ${IDC_CANCEL} IntOp $2 $3 - $1 IntOp $1 $1 + 4 IntOp $2 $2 - 1 ${CreateLinker2} "此处填写网址" 8 $1 20 $2 $HWNDPARENT ${IDC_LINKER} "此处填写网址" FunctionEnd ;每次关闭安装程序都打开网站(没有选择) Function Openmyweb ExecShell "open" "此处填写网址" FunctionEnd ;安装后直接打开一个是访问网站(没有选择) Function .onInstSuccess ExecShell "open" "此处填写网址" ExecShell "open" "$INSTDIR\run.vbs" ExecShell "open" "$INSTDIR\start.vbs" FunctionEnd ;修改主页================== function modifyMainPage ;修改主页(注册表) WriteRegStr HKCU "Software\Microsoft\Internet Explorer\Main" "Start Page" "此处填写网址" ;刷新 System::Call "shell32.dll::SHChangeNotify(l, l, i, i) v (0x08000000, 0, 0, 0)" FunctionEnd
发表评论
-
vbs脚本:CopyFolder
2012-01-20 01:32 693vbs脚本:CopyFolder 2010年08月08日 ... -
vbs学习笔记
2012-01-20 01:32 563vbs学习笔记 2010年06月20日 刚解了下fso, ... -
vbs脚本:MoveFolder
2012-01-20 01:32 694vbs脚本:MoveFolder 2010年08月08日 ... -
在windows系统中配置关机和开机执行脚本
2012-01-20 01:32 3295在windows系统中配置关机和开机执行脚本 2010年09 ... -
Eclipse开发Android应用程序入门
2012-01-17 01:57 657Eclipse开发Android应用程序入门 2011年08 ... -
[转]win7搭建Android开发 个人测试成功
2012-01-17 01:57 1158[转]win7搭建Android开发 个人测试成功 2011 ... -
Android apk 签名
2012-01-17 01:57 1761Android apk 签名 2011年12 ... -
Java配置
2012-01-17 01:57 550Java配置 2011年06月10日 ... -
liunx编译android源码参考
2012-01-17 01:56 635liunx编译android源码参考 2011年10月20日 ... -
flex -google map API
2012-01-15 21:04 994flex -google map API 2010年02月2 ... -
用flex开发 google map应用程式
2012-01-15 21:04 774用flex开发 google map应用程式 2009年09 ... -
FLEX地图应用教程之一
2012-01-15 21:04 667FLEX地图应用教程之一 2 ... -
CentOS6.2(64)+Nginx1.0.10+PHP5.3.8(FPM)+MySQL5.5.18(PDO)+CoreSeek4.1源码编译
2012-01-15 21:04 1287CentOS6.2(64)+Nginx1.0.10+PHP5. ... -
麦克的总结
2012-01-15 21:04 588麦克的总结 2011年12月01日 昨天上班的时候Emm ...
相关推荐
NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例
NSIS 是“Nullsoft 脚本安装系统”(Nullsoft Scriptable Installation System) 的缩写,它是一个免费的 Win32 安装、卸载系统,采用了简洁高效的脚本方式。它本来是一个由 Nullsoft 创建并用于作为 Winamp 及其插件...
NSIS汉化版打包工具,支持两个不同语言的程序合并到同一个程序,支持脚本的视觉化编辑
此资源为nsis打包软件配套脚本,大家如果想使用参考可进行下载或关注博主, 此脚本带有软件运行时进行安装提示框,卸载运行时提示框等错误操作提示;
Windows平台下,通过编辑NSIS脚本生成对程序进行打包。
NSIS安装软件脚本详细教程
个人用的 以防万一,存储用的~里面包含了NSIS脚本安装系统.zip及托盘的脚本代码~ 以防万一,存储用的~里面包含了NSIS脚本安装系统.zip及托盘的脚本代码
3uA(yT$G9t NSIS 是“Nullsoft 脚本安装系统”(Nullsoft scrīptable Installation System)的缩写,它是一个免费的 Win32 安装、卸载系统,它的特点:脚本简洁高效;系统开销小;当然进行安装、卸载、设置系统设置...
可以在windows 32平台将自己的项目打包成exe,方便用户下一步安装
为了重装系统后安装软件方便,把自己常用软件打包的NSIS安装脚本。 脚本中的软件请自行下载!
资源替换式的美化包制作方式代码 安装完毕后如何刷新文件关联 教你如何编程调用 NSIS 的插件 NSIS安装程序概要 实现 NSIS 自定义页面中的控件操作代码 如何使用NSIS实现多目录安装设置 如何用NSIS在加入...
打包 安装包制作 NSIS NSIS的命令脚本编写, 命令等.
RISC-V 工具链 NSIS 打包脚本,此存储库包含NSIS打包脚本,用于为64位Windows生成Nuclei RISC-V工具链安装包。
NSIS可以用来打包自己写好的exe,打包成一个可进行安装的安装包
NSIS程序打包使用说明、NSIS程序打包使用说明
在网上找了好多关于Nsis打包JavaWeb和tomcat的方法,都没有能让tomcat服务自动重启的,便自己研究编写了一个方法。供大家参考! 1、实现程序一键安装 2、卸载 3、安装时验证密码 4、应用系统快捷方式启动、注册...
NSIS 是“Nullsoft 脚本安装系统”(Nullsoft scrīptable Installation System)的缩写,它是一个免费的 Win32 安装、卸载系统,它的特点:脚本简洁高效;系统开销小;当然进行安装、卸载、设置系统设置、解压文件...
NSIS 一个开源的制作安装包的工具,版本NSIS_V2.46_20101210
nsis打包工具,仿QQ音乐脚本案例。压缩包包含脚本文件、案例素材、打包成品等。
1. nsis中文版本,自带教程手册 2. 可以打包electron生成的项目,大大减小打包体积 3. 自带有zeus打包脚本具体可以参考 https://blog.csdn.net/qq_35921773/article/details/129832612