How to execute another NSIS installer and wait for it to finish? -
i'm writing installer in nsis, kind of wrapper installer, created nsis. the inner installer not mine. it's created bioware installer 1.03 (nsis 2.34). may broken somehow, can't modify it! installer modifies registry values (otherwise "inner" installer won't run), executes installer, overwrites files , restores previous registry values.
my problem: have no idea how wait "inner" installer finish! it's because installer first unpacks it's content , creates new process, real installer. , code executes first process (unpacking) finishes. waiting crucial here, because need overwrite files.
i have read this: http://nsis.sourceforge.net/when_i_use_execwait,_it_doesn't_wait, can't find switches nsis installer.
i have tried execwait , nsexec::exec, none of them waits real installer, first process finish.
first off, have never seen execwait fail, wait child process, not child of child process. every process in chain needs wait child. if "middle" process broken, try http://nsis.sourceforge.net/execwait_and_waiting_for_child_processes_with_job_objects
for execwait, tree like:
- nsis1.exe: execwait nsis2.exe
- nsis2.exe: execwait realsetup.exe
- realsetup.exe: ...
- nsis2.exe: execwait realsetup.exe
your description little unclear, can confirm got general idea?
if not find switches nsis means did not rtfm :)
Comments
Post a Comment