2017-09-08 6 views
0

처음에는 존재하지 않지만 복사하기 전에 생성 될 폴더에서 파일을 복사하려고합니다.존재하지 않지만 생성 될 NSIS 복사 파일

Name "Test Installer" 
OutFile "testinstaller.exe" 
InstallDir C:\dev\NSIS\Scripts\Testinstaller 

Section "copyTest" 
    SetOutPath $INSTDIR 
    CreateDirectory $INSTDIR\test 
    SetOutPath $INSTDIR\test 
    File test2\test.txt 
    SetOutPath $INSTDIR 
    File /nonfatal test\test.txt 
SectionEnd 

컴파일러가 파일을 찾을 수 없거나 컴파일하려고 할 때 컴파일러가 생성 및 오류가 발생하는 문제가 있습니다. 그러나 컴파일하기 전에 생성 된 파일은 프로그램을 컴파일 한 후에 삭제됩니다.

+0

예제 코드는 나에게 의미가 거의 없습니다. 'test2 \ test.txt' 파일을 추출 할'test' 폴더를 만듭니다 (파일을 포함하고있는 * 컴퓨터의 위치를 ​​기억하십시오). 그런 다음'$ OUTDIR'을 변경하여 무엇을 할 것인가? 같은 파일을 다시 추출 하시겠습니까? 동일한 File 명령을 다시 사용하거나 이전 위치에서 복사 할 수 있습니다. NSIS 컴파일러는 동일한 파일을 두 번 포함 할 정도로 똑똑합니다. – idleberg

+0

문제가 해결되었습니다! 이제 파일 대신 CopyFiles를 사용합니다. 테스트 목적으로이 프로그램을 사용했습니다. 내 실제 프로그램에서 나는 소프트웨어를 설치하고 상위 디렉토리에 설치하는 동안 생성 된 폴더를 복사해야합니다! –

답변

0

File 명령은 설치 프로그램에 파일을 포함하므로 컴파일 할 때 있어야합니다. 런타임에 파일을 복사하려면 CopyFiles을 사용할 수 있습니다.

+0

고마워요! –

+0

그런 다음 체크 표시를 눌러 답을 수락하십시오. – idleberg