c# - why WaitForExit() doesn't wait? -


i adding custom action vs2008 setup project (msi installer).

i calling batch file create database , want delete files after. have waitforexit() not wait. why?

            processstartinfo startinfo = new processstartinfo();             startinfo.useshellexecute = false;             string tempdir = @"c:\temp\";             startinfo.filename = tempdir + "sybasedb\\en_allinone_installdb.bat";             startinfo.arguments = tempdir + "sybasedb\\";              try             {                 process startdb = process.start(startinfo);                 startdb.waitforexit();              }             catch (exception e)             {                 //do something?             }             {                 system.io.file.delete(tempdir);             } 

no difference startinfo.useshellexecute = true; batch executed without problem because require user input , input y , n questions. delete action happened before input. , have pause @ end of batch file. can watch process of batch file going.

edit: tested more 10 times, didn't work. after lunch, put 1 more waitforexit , while loop hasexited check. sleep inside while loop. found worked. deleted code, 1 waitforexit. seems work now.

this throwing exception because can't execute .bat file. intend execute cmd.exe giving .bat file command line argument.


Comments

Popular posts from this blog

ruby - When to use an ORM (Sequel, Datamapper, AR, etc.) vs. pure SQL for querying -

php - PHPDoc: @return void necessary? -

c++ - Convert big endian to little endian when reading from a binary file -