2010-07-09 1 views
0

제가 일한 제품은 NSIS 이외의 설치 프로그램을 사용하는 데 사용되었습니다. 현재 NSIS를 사용하기 이전 버전의 제품을 보유한 고객이 있습니다.NSIS는 "ifnewer"를 추출하지 않습니다

이제 NSIS 설치 프로그램을 사용하는 새 버전의 소프트웨어를 설치하려고합니다. 문제는 사전 NSIS 설치 프로그램 인 모든 버전을 설치하려고 할 때 특정 파일이 압축 해제되지 않아 제품이 다운되는 문제입니다.

NSIS가 'ifnewer'에 대한 확인 방법을 찾아보고 이해하려고했지만 아무 것도 자세히 설명하지 않아 문제를 해결할 수 없습니다.

NSIS 설치 버전에서 다른 버전으로 업그레이드하는 것이 좋습니다. 이것은 NSIS를 사용하여 설치되지 않은 버전의 제품을 설치하려고 시도한 결과입니다.

감사합니다.

답변

0

이전 설치 프로그램에 마지막으로 수정 된 날짜 문제가있을 수 있습니까? (향후 등)

+0

방금 ​​이전 설치 프로그램을 사용하여 다시 설치했습니다. 최종 수정 날짜 및 시간은 설치 시간과 동일합니다. 새 NSIS 설치 프로그램을 사용했고 마지막으로 수정 한 내용은 그대로 유지되었으며 변경된 유일한 것은 마지막으로 액세스 한 시간이었습니다. 이것이 NSIS가 ifnewer에 대한 검사를 어떻게 처리하는지 궁금해하는 이유입니다. 마지막으로 수정하면 문제가 발생하지 않아야합니다. – Nedloh

+0

기존 파일의 WIN32_FIND_DATA.ftLastWriteTime에 대해 CompareFileTime 함수를 사용합니다 (따라서 "새로운"파일은 이보다 더 새 파일이어야합니다). – Anders

+0

@Anders : "새"파일에는 항상 현재 시간의 LastWriteTime이 없습니까? 또는 NSIS 컴파일을 수행하기 전에 파일의 LastWriteTime을 저장하고이를 사용하여 비교합니까? – Nedloh