.net - BSOD on process.start with process.getprocesses beforehand -
first, little background: i've got program acting frontend piece of lab equipment. software came lab equipment has tcp/ip interface , runs in background behind app working on. also, windows xp/visual studio 2008/.net 3.5.
the problem i've got if try start oem software within program using process.start("prog-xy.exe") bsod (bug check 0xf4: critical_object_termination http://msdn.microsoft.com/en-us/library/windows/hardware/ff560372%28v=vs.85%29.aspx).
the catch bsod happens if run process.getprocessesbyname("doesn't matter string is") beforehand. (it going used find process , kill if running, before launching it)
if don't run getprocessesbyname, can start process without issue. can start , kill process without repercussion windows.
i tried starting program once-removed calling batch file program start oem software, it's same thing.
i started new project make sure else screwey wasn't going on 3 buttons on it:
1) runs getprocessesbyname
process.getprocessesbyname("notepad")
2) starts oem software directly
dim ps = new processstartinfo ps.filename = "c:\program files\oem\prog-xy.exe" ' path oem software ps.workingdirectory = "c:\program files\oem" ' has start in right directory process.start(ps)
3) starts oem via batch file (batchfile changes directory "c:\program files\oem" , runs prog-xy.exe)
process.start("c:\batchfile.bat")
the following result in bsod's:
- run 2, 1
- run 2, open/close oem software manually, 1
- run 2, 3
the following not result in bsod's
- run 1
- run 1, close software, run 1 again
- run 1, close oem software, open , close manually, , press 3
- run 1, 3
- run 2, restart front-end software, click 1
furthermore, if replace filename start notepad, runs fine , dandy has oem software, getprocessesbyname make have catastrophic failure, have no idea.
the final thing if in debug mode visual studio debugger attached don't bluescreen no matter do.
Comments
Post a Comment