2011-11-21 8 views
0

다음 함수를 사용하여 DLL 파일을 재귀 적으로 검색 할 수 있습니다.NSIS 자동 모드에서 파일 찾기가 작동하지 않습니다.

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 파일에 대한 전체 권한을 갖습니다.

왜 파일을 찾을 수 없습니까?

+0

이것은 nxs 플러그인을 사용하는 방법에있어 문제가있는 것 같습니다. nxs는 자동 설치 모드에서 사용되지만 표준 설치에서는 사용되지 않습니다. – jkh

답변

0

nxs 플러그인을 호출하여 배너를 만들 때는/end 매개 변수를 사용해야합니다.

관련 문제