当前位置 : IT培训网 > 常见问题 > NSIS打包源文件有哪些常见问题

NSIS打包源文件有哪些常见问题

时间:2019-04-09 14:07:27  来源:编程网  作者:IT培训网  已有:名学员访问该课程
NSIS打包源文件有哪些常见问题?有关NSIS相关问题,这里将一一阐明。

NSIS打包源文件有哪些常见问题?有关NSIS相关问题,这里将一一阐明。

NSIS打包源文件有哪些常见问题_www.itpxw.cn

列举NSIS打包源文件常见问题

1.关于修改安装包的欢迎页上的最上面的caption

XPStyle on

Caption " 客户端"

Name "客户端"

2.怎样设置安装进度条不显示文件的详细信息

在工具开始处添加

ShowInstDetails nevershow

ShowUninstDetails nevershow

在section中开始处添加 SetDetailsPrint none,结束处添加 SetDetailsPrint textonly

3.messageBox的处理

在静默的时候MessageBox也会弹出对话框,可以在弹出对话框的地方添加

IfSilent +2 0

MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "您确实要完全移除 $(^Name) ,及其所有的组件?" IDYES +2

Abort

4.修改 安装界面的文字显示

MiscButtonText 可以替换掉安装页面的button显示,[上一步][下一步][取消][关闭],如果留空参数,将使用默认值代替。

例如 MiscButtonText "测试1" "测试2" "测试3" "完成(&G)"

将MiscButtonText的修改项放到; 安装过程页面!insertmacro MUI_PAGE_INSTFILES前。

5.隐藏安装界面的button按钮:使用MyInstFiles替换掉MUI_PAGE_INSTFILES

; 安装过程页面

;!insertmacro MUI_PAGE_INSTFILES

!define MUI_PAGE_CUSTOMFUNCTION_SHOW MyInstFiles

Function MyInstFiles

GetDlgItem $0 $HWNDPARENT 1 ;下一步

ShowWindow $0 ${SW_HIDE}

GetDlgItem $0 $HWNDPARENT 2 ;取消

ShowWindow $0 ${SW_HIDE}

GetDlgItem $1 $HWNDPARENT 3 ;上一步

ShowWindow $1 ${SW_HIDE}

FunctionEnd

6.去掉安装界面和卸载界面的Nullsoft…字:

在安装页面!insertmacro MUI_PAGE_INSTFILES前面添加BrandingText " "

7.修改安装页面的上一步,下一步,取消按钮和卸载页面的关闭按钮的文字

安装页面:

GetDlgItem $R0 $HWNDPARENT 1

SendMessage $R0 ${WM_SETTEXT} 0 `STR:下一步1`

GetDlgItem $R0 $HWNDPARENT 2

SendMessage $R0 ${WM_SETTEXT} 0 `STR:取消1`

GetDlgItem $R0 $HWNDPARENT 3

SendMessage $R0 ${WM_SETTEXT} 0 `STR:上一步1`

卸载页面

Section Uninstall

GetDlgItem $R0 $HWNDPARENT 1

SendMessage $R0 ${WM_SETTEXT} 0 `STR:完成`

SetDetailsPrint none

SetDetailsPrint textonly

SetAutoClose true

SectionEnd

8.使用NSIS给自己的程序在开始菜单中添加卸载菜单

因为是想将程序安装到所有用户,所有脚本中添加

RequestExecutionLevel admin

在安装section中

Section CREATESTARTMENU

SetShellVarContext all

CreateDirectory "$SMPROGRAMS\\${PRODUCT_NAME}"

CreateShortCut "$SMPROGRAMS\\${PRODUCT_NAME}\\$(UNINSTALL_STARTMENUVALUE).lnk" "$INSTDIR\\uninst.exe"

SectionEnd

在卸载section中

Section Uninstall

SetShellVarContext all

Delete "$SMPROGRAMS\\${PRODUCT_NAME}\\$(UNINSTALL_STARTMENUVALUE).lnk"

RMDir "$SMPROGRAMS\\${PRODUCT_NAME}"

SetAutoClose false

SectionEnd

SetShellVarContext all一定要添加上,否则会出现卸载之后开始菜单中仍然显示有我们的程序的Bug

顶一下
(0)
0%
踩一下
(0)
0%

IT培训0元试听 每期开班座位有限.0元试听抢座开始! IT培训0元试听

  • 姓名 : *
  • 电话 : *
  • QQ : *
  • 留言 :
  • 验证码 : 看不清?点击更换请输入正确的验证码

在线咨询在线咨询

温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。

------分隔线----------------------------
------分隔线----------------------------

推荐内容

相关热点