NSIS nsDialogPage由于临时文件访问问题而不再显示?

NSIS nsDialogPage由于临时文件访问问题而不再显示?,nsis,nsdialogs,Nsis,Nsdialogs,几个小时前,我的部署项目正确运行。 但是突然,在我的项目上添加了第二个nsDialogPage之后,它就不再工作了。 即使是只有一个nsDialogPage的旧保存代码 这是我代码的一部分 !包括LogicLib.nsh !包括nsDialogs.nsh !包括StrRep.nsh !包括e.nsh !包括FileFunc.nsh !包括TextFunc.nsh !插入宏获取时间 !包括Zipdell.nsh ; 安装程序的名称 名称“打包设置” ; 要写入的文件 OutFile“打包设置v1.

几个小时前,我的部署项目正确运行。 但是突然,在我的项目上添加了第二个
nsDialogPage
之后,它就不再工作了。 即使是只有一个
nsDialogPage
的旧保存代码

这是我代码的一部分

!包括LogicLib.nsh
!包括nsDialogs.nsh
!包括StrRep.nsh
!包括e.nsh
!包括FileFunc.nsh
!包括TextFunc.nsh
!插入宏获取时间
!包括Zipdell.nsh
; 安装程序的名称
名称“打包设置”
; 要写入的文件
OutFile“打包设置v1.2.3.exe”
XPStyle on
变量对话框
变量标签
Var UserText
; 默认安装目录
InstallDir“C:\temp\setup”
; 请求Windows Vista的应用程序权限
RequestExecutionLevel管理员
; 页
页面组件
页面目录
;页面自定义nsDialogsPage nsDialogsPageLeave
页面文件
页面自定义nsDialogsPage nsDialogsPageLeave
未登录未登录确认
未屏蔽文件
“复制文件”一节
; 将输出路径设置为安装目录。
SetOutPath$INSTDIR
; 复制大量文件
文件“D:\Temp\Sources\parametrace.txt”
分段结束
函数nsDialogsPage
nsDialogs::创建1018
弹出$对话框
${If}$Dialog==错误
MessageBox MB_OK“哦,有什么东西崩溃了”
中止
${EndIf}
;用户名
${NSD_CreateLabel}0 0 18%10u“用户名:”
Pop$标签
${ConfigRead}“$INSTDIR\parametrace.txt”“@DERBY_USER@=“$UserText
${NSD_CreateTExt}50u 0 50%12u$UserText
Pop$UserText
nsDialogs::Show
功能端
函数nsDialogsPageLeave
!宏\u替换填充2源\u文件搜索\u文本替换
推送“${SOURCE_FILE}”
按“${SEARCH_TEXT}”
推送“${REPLACEMENT}”
呼叫RIF
!宏端
;${ConfigRead}“$INSTDIR\parametrace.txt”“@DERBY_USER@=$0
${NSD_GetText}$UserText$0
!insertmacro_ReplaceInFile2“$INSTDIR\$Version\conf\database.properties”“@DERBY_USER@”$0
功能端
这段代码一直工作得很完美。我不知道发生了什么

当前,安装程序在复制文件后停止,并且不显示nsDialog窗体。 注意:

  • 如果我对文件复制页面进行注释,则会正常显示
    nsDialog
    页面
  • 如果我先创建
    nsDialog
    ,然后创建复制页面,然后再次创建
    nsDialog
    (只是为了测试,它对我的应用程序没有用处),则会显示第一个
    nsDialog
    表单,但不会显示第二个表单
我以为它来自于
${NSD_CreateTExt}
,所以我只使用标签(而不是文本)尝试了相同的操作,结果是相同的

我的文件副本已正确完成(已记录)

在我不知道发生了什么之前,它一直在起作用

我重新启动了我的机器,没有任何结果

在另一个类似的项目上,与
nsDialog
相关的“.tmp文件问题”会显示在设置表单上。 线索

欢迎提供任何建议。
谢谢

我见过McAfee使用最大的安全设置造成这种情况。它们的保护措施之一是防止从临时目录执行文件


它并不完全适合您的问题,因为有时它确实适合您,但值得尝试一下。

好主意。但是带有代码的工作站没有连接到互联网(没有更新),即使它是McAfee,如何解释它的工作原理?最新的我只是指最新版本之一,不一定是最新的更新。给它一个镜头,并禁用AV。应该足够简单,可以验证。