- 浏览: 15906 次
最新评论
分享一个单机游戏的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学习笔记
2012-01-20 10:00 586vbs学习笔记 2010年06月20日 刚解了下fso, ... -
vbs脚本:MoveFolder
2012-01-20 09:59 670vbs脚本:MoveFolder 2010年08月08日 ... -
在windows系统中配置关机和开机执行脚本
2012-01-20 09:57 830在windows系统中配置关机和开机执行脚本 2010年09 ... -
QTP的2种脚本调用方法是什么
2012-01-20 09:57 685QTP的2种脚本调用方法是什么 2011年06月14日 ... -
C#面试题集锦(你值得拥有!)
2012-01-19 15:01 1208C#面试题集锦(你值得拥 ... -
ASP.Net考试复习资料
2012-01-19 15:01 817ASP.Net考试复习资料 2011 ... -
javascript:history.go()和History.back()的区别
2012-01-19 15:01 978javascript:history.go()和History ... -
2011-6-25
2012-01-19 15:01 8822011-6-25 2011年06月25日 (71)下列 ... -
3DMAX 300问 (五)
2012-01-17 04:46 8063DMAX 300问 (五) 2011年04月23日 6 ... -
机能强劲 疑为N3DS主机用GPU规格透露?
2012-01-17 04:46 713机能强劲 疑为N3DS主机用GPU规格透露? 2010年06 ... -
perfHUD使用说明
2012-01-17 04:46 753perfHUD使用说明 2011年04月14日 perf ... -
6.14.10.6999 (20090814) - ATI Mobility Radeon HD 4500 Series
2012-01-17 04:46 8416.14.10.6999 (20090814) - ATI M ... -
★市售手机CPU型号性能点评★
2012-01-17 04:46 1431★市售手机CPU型号性能点评★ 2011年02月14日 ... -
Adsutil.vbs在脚本入侵中的妙用
2012-01-16 03:38 735Adsutil.vbs在脚本入侵中的妙用 2011年03月0 ... -
制作自动运行木马的vbs脚本
2012-01-16 03:38 1115制作自动运行木马的vbs ... -
vbs脚本文件执行提权技术技巧
2012-01-16 03:38 773vbs脚本文件执行提权技 ... -
vbs脚本实例
2012-01-16 03:38 664vbs脚本实例 2011年02月28日 rem 结束QQ ... -
利用VBS脚本让qq永远在线
2012-01-16 03:38 599利用VBS脚本让qq永远在线 2011年06月07日 让 ...
相关推荐
NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例NSIS脚本实例
NSIS 是“Nullsoft 脚本安装系统”(Nullsoft Scriptable Installation System) 的缩写,它是一个免费的 Win32 安装、卸载系统,采用了简洁高效的脚本方式。它本来是一个由 Nullsoft 创建并用于作为 Winamp 及其插件...
NSIS汉化版打包工具,支持两个不同语言的程序合并到同一个程序,支持脚本的视觉化编辑
此资源为nsis打包软件配套脚本,大家如果想使用参考可进行下载或关注博主, 此脚本带有软件运行时进行安装提示框,卸载运行时提示框等错误操作提示;
NSIS安装软件脚本详细教程
Windows平台下,通过编辑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