I'm writing an installer in NSIS, which is kind of a wrapper for another installer, created with NSIS. The inner installer is not mine. It's created with BioWare Installer 1.03 (NSIS 2.34). It may be broken somehow, but I can't modify it! What my installer does is that it simply modifies some registry values (otherwise the "inner" installer won't run), then executes the installer, then overwrites some files and then restores the previous registry values.
My problem: I have no idea how to actually wait for the "inner" installer to finish! It's because the installer first unpacks it's content and creates a new process, which is the real installer. And the code executes as soon as the first process (unpacking) finishes. Waiting is crucial here, because I need to overwrite some files.
I have read this: http://nsis.sourceforge.net/When_I_use_ExecWait,_it_doesn't_wait, but I can't find any switches for NSIS installer.
I have tried ExecWait and nsExec::Exec, but none of them waits for the real installer, just for the first process to finish.