Hi, It seems recent versions of setup-x86.exe exit before the installation is complete. Without the --no-admin option, the main installation is run as a child process, and the parent doesn't wait for the child to complete. This can cause a bit of a problem for other installers that install Cygwin (as when setup.exe exits, Cygwin isn't installed).
Is something like the attached patch appropriate? It just waits for the child process before exiting. Cheers, Jon
Index: main.cc =================================================================== RCS file: /cvs/cygwin-apps/setup/main.cc,v retrieving revision 2.75 diff -u -r2.75 main.cc --- main.cc 18 Nov 2013 11:16:14 -0000 2.75 +++ main.cc 6 Mar 2014 12:02:16 -0000 @@ -295,6 +295,7 @@ sei.lpVerb = "runas"; sei.lpFile = exe_path; sei.nShow = SW_NORMAL; + sei.fMask |= SEE_MASK_NOCLOSEPROCESS; // Avoid another isRunAsAdmin check in the child. std::string command_line_cs (command_line); @@ -322,6 +323,11 @@ } else exit_msg = IDS_ELEVATED; + + // Wait until child process is finished + if (sei.hProcess != NULL) + WaitForSingleObject (sei.hProcess, INFINITE); + // Once we are set on course to privilege elevate, the parent // process is unnecessary. goto finish_up;
-- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple