0
안녕하세요! 저는 Process.Start를 사용하여 소프트웨어에 대한 추가 종속성을 설치하는 설치 프로그램에서 작업하고 있습니다.다른 설치를 실행하는 동안 프로세스가 종료됩니다.
foreach dependency:
var process = System.Diagnostics.Process.Start(processStartInfo);
process.WaitForExit();
문제는 다른 MSI 설치가 runned 때, 중단을 WaitForExit (그리고 나는이 또 다른 MSI 설치를 닫을 때, WaitForExit도 종료)입니다.
매우 다른 설치 시간으로 인해 종속성이 다르므로 시간 초과를 사용할 수 없습니다.
이 상황을 처리하고 올바르게 프로세스를 죽일 수있는 방법이 있습니까 (실제로 종속성이 설치되어 있는지 또는 걸려 있는지 알고 싶습니까?)? 많은 감사.
해결책 : 제 경우에는 'msiexec'프로세스가 실행 중인지 확인하여 문제가 해결됩니다.
당신은 VS에서 설치 프로젝트를 사용하고 거기에 관련된 모든 종속성을 포함하지 않는 이유는? 또는 그냥 EXE/DLL에 임베드 할 수 있습니다 (.NET이라면 메모리에서 실행할 수도 있습니다)? – Yahia
모두가 .NET이 아니라 인터넷에서 종속성을 다운로드 할 수 있습니다. 설치 프로그램은 매우 크고 복잡합니다. 어쨌든 WaitForExit 걸기에 대한 질문. – rapt0r
여전히 VS에서 설치 프로그램 프로젝트는 종속성을 설치할 수 있습니다 ... 직접 작성하지 않아도됩니다 ... – Yahia