폴더를 설치 한 후 함수를 호출하려고하지만 InstallEnv
함수가 여러 번 호출되는 것 같습니다. 각 파일에 대해 확인해야 할 폴더 일 수 있습니다. 파일을 모두 설치 한 후에 한 번만 호출하는 방법이 있습니까? 리턴 코드를 잡는 데 오류가 있기 때문에 Run
섹션을 사용할 수 없습니다.Inno Setup AfterInstall 함수가 각 파일에 대해 호출되었습니다.
Source: "InputFiles\virtualenv-1.8.2\*"; DestDir: "{tmp}/virtualenv"; \
Flags: recursesubdirs; AfterInstall: InstallEnv;
두 질문을 모두 보면서 [CurStepChanged'] (http://www.jrsoftware.org/ishelp/index.php?topic=scriptevents&anchor=CurStepChanged) 이벤트에서 필요한 것을 실행하고 싶지 않습니까? 'Curstep' 매개 변수가'ssPostInstall' 일 때 어떻게해야합니까? – TLama
실제로 월요일에 시도했지만 실행이 0과 다른 코드를 반환하면 설치를 실패 (또는 중단)하려고합니다. 그러나'WizardForm.Close; '코드는'ssPostInstall'에서 작동하지 않습니다 (실제 설치 이후 일 수 있습니다). 내가 알기로, – Amaranth
. 'InstallEnv' 과정의 어떤 것이 잘못되면 설치 과정을 중단하고 (변경 사항을 롤백하는) 방법을 찾고 있습니다. 글쎄, 필자는 어찌하여 예측할 수없는 느낌을 갖기 때문에 마지막으로 설치된 파일의 이름에 의존하지 않을 것이다. 또 다른 옵션은 다음에 설치된'[Files]'항목에 대한'BeforeInstall' 절차를 작성하는 것입니다. 또는'InstallEnv' 절차에 대한 통과 카운터를 만들고 전 처리기로 파일의 총 개수를 결정하십시오. 프로 시저가 호출 될 때마다 카운터를 증가시키고 그 상수 값에 도달하면 마지막 파일이됩니다. – TLama