最新消息:

NSIS 进度条精确显示 (学习六)

nsis 永恒心锁 2044浏览 0评论
#1、界面的搭建

;创建简要说明
 Pop $0
 ${NSD_CreateLabel} 40 243 100 20 "开始安装..."
 Pop $9
 ;进度条的创建
 ${NSD_CreateProgressBar} 24 265 460 20 ""
 SkinProgress::Set $PB_ProgressBar "$PLUGINSDIR\loading2.bmp" "$PLUGINSDIR\loading1.bmp"
 Pop $8
 ${NSD_CreateTimer} OnDialogTimer 100

#2、事件

Function Extractfunc

 ;Call DiskFrameWorkSpaceCheck ;检查磁盘的空间 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 SetOutPath $INSTDIR
 /*
 该命令设置了由 File 命令使用的覆盖标记来决定目标文件已存在时是否覆盖。如果覆盖标记为 on,则目标文件被覆盖 (这个是默认值)。
 如果覆盖标记为 off,则已存在的文件不会被覆盖。如果覆盖标记为 try,文件仅当可以被覆盖时 (就是说假如文件不能写入,它会自动略过而不需要用户决定) 才会覆盖目标文件。
 如果覆盖标记为 ifnewer,则仅当已存在的文件比新文件旧时才会覆盖目标文件。如果覆盖标记为 ifdiff,则仅当已存在的文件比新文件旧或新时才会覆盖目标文件。
 注意在 ifnewer 或 ifdiff 模式下,目标文件的日期都会被设为新文件的日期,而不管 SetDateSave 是怎么设置的。
 */
 SetOverwrite ifnewer

;这个文件是应该安装的文件
 File "Main.7z"
 GetFunctionAddress $R9 Callback
 Nsis7z::ExtractWithCallback "Main.7z" $R9 ;必须使用这一句
/*
 WriteUninstaller "$INSTDIR\uninst.exe" ;生成卸载exe,自动调用section Uninstall
 WriteRegStr HKLM "$PRODUCT_INSTALL_KEY" "InstallDir" "$INSTDIR"
 WriteRegStr HKLM "$PRODUCT_UNINST_KEY" "Version" "${PRODUCT_VERSION}"
 ;WriteRegStr HKLM "$PRODUCT_INSTALL_KEY" "Version" "$PRODUCT_VERSION_NAME" 
 WriteRegStr HKLM "$PRODUCT_UNINST_KEY" "DisplayName" "$(^Name)"
 WriteRegStr HKLM "$PRODUCT_UNINST_KEY" "UninstallString" "$INSTDIR\uninst.exe"
 WriteRegStr HKLM "$PRODUCT_UNINST_KEY" "DisplayIcon" "$INSTDIR\$PRODUCT_NAMEEXE"
 WriteRegStr HKLM "$PRODUCT_UNINST_KEY" "DisplayVersion" "$PRODUCT_VERSION_NAME"
 Delete "$OUTDIR\$PRODUCT_OUTFILE_MAIN7z"
*/
 WriteUninstaller "$INSTDIR\uninst.exe" ;生成卸载exe,自动调用section Uninstall
 WriteRegStr HKLM "${PRODUCT_INSTALL_KEY}" "Version" "${PRODUCT_VERSION}" ; 根键 子键 项 值
 
 #跳到下一个界面
 StrCpy $R9 1 ;Goto the next page
 Call RelGotoPage
FunctionEnd
免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。丨本站为个人博客非盈利性站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途。丨本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权BY-NC-SA协议进行授权

转载请注明:永恒心锁-分享互联网 » NSIS 进度条精确显示 (学习六)

发表我的评论
取消评论
表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址