NSIS以静默方式查找文件无法正常工作

时间:2011-11-21 17:16:27

标签: permissions installer nsis

我有以下函数来递归搜索dll文件。

Function ProcessDLLFiles
Exch $0
Push $1
Push $2
FindFirst $1 $2 "$INSTDIR\*.dll"
loop:
    IfErrors end
    DetailPrint 'Found "$0\$2"'
    FindNext $1 $2
    goto loop
end:
FindClose $1
FindFirst $1 $2 "$0\*.*"
dirloop:
    IfErrors dirend 
    IfFileExists "$0\$2\*.*" 0 dirnext
    StrCmp $2 "." dirnext
    StrCmp $2 ".." dirnext
    Push "$0\$2"
    call ${__FUNCTION__}
dirnext:
    FindNext $1 $2
    goto dirloop
dirend:
    FindClose $1
Pop $2
Pop $1
Pop $0
FunctionEnd

当我正常运行安装程序时,它按预期工作,并在相关文件夹中找到所有dll文件。

但是,它没有在静默模式下找到这些文件,即使我可以导航到它正在搜索的目录并查看文件是否在那里。我已在安装期间请求管理员权限,管理员对文件夹中的dll文件具有完全权限。

为什么它可能找不到文件的任何想法?

1 个答案:

答案 0 :(得分:0)

调用nxs插件创建横幅时,需要使用/ end参数。