╃苍狼山庄╃╃苍狼山庄╃

Clang出品,
必属精品!

关于NSIS页面的设制

转自:X-Star
这些应该是常用的教本参数了..收集了一下..希望有所帮助...
当然,有些东西也是从世纪论坛里收集起来的,添加点注释...
;后面的都是注释信息,不会被编译....

最重要的是等蓝色网际的翻译了...

!define MUI_FINISHPAGE_NOAUTOCLOSE ; 不自动跳到完成页面,用户可以自己选择"下一步",可用AutoCloseWindow代替(在下面)

!define MUI_UNFINISHPAGE_NOAUTOCLOSE ; 卸载完成后不自动关闭.

!define MUI_LICENSEPAGE_BGCOLOR ; 许可文本框的背景颜色.默认为白色./grey 用于 Window 的背景颜色 (通常为灰色).

!define MUI_WELCOMEFINISHPAGE_BITMAP "xx.bmp" ; 左侧标题位图

!define MUI_HEADERIMAGE_RIGHT ; 将页眉图片显示到右边,默认为左边

!denine MUI_HEADERIMAGE_BITMAP_NOSTRETCH ; 不拉伸页眉图片

!define MUI_COMPONENTSPAGE_SMALLDESC ; 较小的页面底部的描述区域

!define MUI_PAGE_CUSTOMFUNCTION_PRE WelcomePage ; 关于多选项的参数.具体未知

!define MUI_HEADERIMAGE

!define MUI_HEADERIMAGE_BITMAP "xxx.bmp"   ; 设置标题图片,BMP位图格式.大小为 150 x 57


!define MUI_ICON "E:\Program Files\pickcolor\install.ico"

!define MUI_UNICON "E:\Program Files\pickcolor\uninstall.ico"
; 自定义安装和卸载图标


!define MUI_WELCOMEPAGE_TEXT "蚊子"
; 替换欢迎界面中的蚊子说明


!define MUI_FINISHPAGE_LINK "说明蚊子"

!define MUI_FINISHPAGE_LINK_LOCATION "网址"
; 在完成页面的下面显示链接

SetCompressor lzma ; 压缩方式

ShowInstDetails show ; 显示安装细节

ShowUninstDetails show ; 显示卸载细节

UninstallCaption "卸载程序标题"

SetFont 宋体 9 ; 设置为宋体9号字

XPStyle on ; XP 风格

SpaceTexts none ; 取消磁盘空间提示文本

BrandingText "Test安装程序 创建于 ${__TIMESTAMP__} "

ComponentText "" "选定组件安装的类型:" "----------------------"

SetDatablockOptimize on

CRCCheck on ; 执行 CRC 检查

InstallColors /windows ; 安装信息的颜色

AutoCloseWindow false ; 安装完成后自动关闭,false=否,true=是.和!define MUI_FINISHPAGE_NOAUTOCLOSE相同

ShowInstDetails show

SetDateSave on

WindowIcon on ; 安装程序显示标题

InstProgressFlags smooth colored ; 安装进度条风格

BGGradient off ; 设定渐变背景

SilentInstall normal ; 设置安静安装模式

SilentUnInstall normal ; 设置安静卸载模式

LicenseBkColor 000000 ; 授权协议页面背景色,注意!define MUI_LICENSEPAGE_BGCOLOR冲突

RMDir /REBOOTOK ; 无法删除时要求重新启动

RMDir /r ; 循环删除整个目录


!define SOURCEDIR "Directory Patch" ;首先在头部定义

例如:

CreateDirectory "$INSTDIR\Directory Name"


例如:

SetOutPath "$INSTDIR\Directory Name"

File "${SOURCEDIR}\*.*"
; 批量安装文件,以减少安装脚本的大小

Function .onInit
SetOutPath $TEMP
File /oname=spltmp.bmp "[Bmp file path]"
File /oname=spltmp.wav "[wav file path]"

advsplash::show 1200 800 500 -1 $TEMP\spltmp
;advsplash::show 10 2000 500 -1 $TEMP\spltmp

Pop $0 

Delete $TEMP\spltmp.bmp
Delete $TEMP\spltmp.wav
FunctionEnd
;添加一个闪屏

Function .onInit
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
StrCmp $R0 "5.1" startinst
StrCmp $R0 "5.2" startinst
MessageBox MB_OK "此程序只能运行在 Microsoft Windows XP 下!$\n$\n请点击 [确定] 按钮退出此安装程序."
Abort
startinst:
FunctionEnd
; 简单的检测操作系统的版本号

Function .onInit
  ;检测系统是否为2k/xp pro
  ReadINIStr $0 $SYSDIR\PRODSPEC.INI "Product Specification" "Product"
  StrCmpS $0 "Windows 2000 Professional" +4 0
  StrCmpS $0 "Windows XP Professional" +3 0
  MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST "程序只能安装在 Windows 2000/XP Professional 系统上。"
  Quit
FunctionEnd

; 设置多语言 (第一个为默认语言)下面要创建一个Function .onInit函数
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "SimpChinese"
!insertmacro MUI_RESERVEFILE_LANGDLL

Function .onInit
!insertmacro MUI_LANGDLL_DISPLAY ; 多语言的调用语句(上面提到过)
FunctionEnd
; 这个函数可以放到闪屏函数里面

Function .onInit
MessageBox MB_ICONQUESTION "要开始安装了。继续吗?" IDYES NoAbort
Abort ; 导致安装程序退出。
NoAbort:
FunctionEnd
; 在开始之前的询问.带 .onInit 的都放到一起使用,否则出错


Function .onInstSuccess
MessageBox MB_YESNO "恭喜!安装已完成。要查看说明文件吗?" IDNO NoReadme
Exec notepad ; 查看说明文件或者您可以定义执行其他操作。
NoReadme:
FunctionEnd

Function .onVerifyInstDir
IfFileExists $INSTDIR\应用程序名称.exe PathGood
Abort ; 若 $INSTDIR 不是预定的安装程序路径,安装程序就不允许用户进行安装,[下一步]按钮为灰色。
PathGood:
FunctionEnd
; 做补丁的时候可以使用此函数

本原创文章未经允许不得转载 | 当前页面:╃苍狼山庄╃ » 关于NSIS页面的设制

评论

文章评论已关闭!