Msiexec waitforexit


Msiexec waitforexit
App Store를 통해 가져 오기 우리의 응용 프로그램 에서이 게시물을 읽으십시오!
다른 설치를 실행하는 동안 WaitForExit이 중단됩니다.
좋은 날! 나는 Process. Start를 사용하여 소프트웨어에 대한 추가 종속성을 설치하는 installer에서 작업하고 있습니다.
문제는 다른 msi 설치가 실행될 때 WaitForExit이 중단되고 다른 msi 설치를 닫으면 WaitForExit도 종료됩니다.
종속성은 설치 시간이 매우 달라서 시간 제한을 사용할 수 없습니다.
이 상황을 처리하고 프로세스를 제대로 죽일 수있는 방법이 있습니까 (실제로 종속성이 설치되어 있는지 또는 걸려 있는지 알고 싶습니까?). 많은 감사합니다.
솔루션 : 제 경우에는 'msiexec'프로세스가 실행 중인지 확인하여 문제가 해결됩니다.
내 문제에 대한 해결책 - msiexec에서 만든 전역 뮤텍스를 확인하십시오. 이는 다른 msi 설치가 실행 중인지 확인하는 올바른 방법이기도합니다.

Msiexec waitforexit
App Store를 통해 가져 오기 우리의 응용 프로그램 에서이 게시물을 읽으십시오!
PowerShell에서 Windows 설치 프로그램을 실행하고 성공 / 실패 값을 얻으려면 어떻게해야합니까?
4, IIS 7 PowerShell 스냅인, ASP MVC 3 등의 응용 프로그램을 설치하고 싶습니다. 응용 프로그램을 설치하고 설치가 성공했는지 여부를 결정하는 값을 반환하려면 어떻게해야합니까?
이러한 대답은 지나치게 복잡하거나 충분하지 않은 것처럼 보입니다. PowerShell 콘솔에서 설치 프로그램을 실행하는 데는 몇 가지 문제가 있습니다. MSI는 Windows 하위 시스템에서 실행되므로 호출 할 수는 없습니다 (Invoke-Expression 또는 & amp;). 일부 사람들은 Out-Null 또는 Out-Host로 연결하여 작업 명령을 받겠다 고 주장하지만 작동하지는 않습니다.
나에게 맞는 방법은 msiexec에 대한 자동 설치 매개 변수가있는 시작 - 프로세스입니다.
Start-Process 명령에서 종료 코드를 얻고 통과 / 실패 값을 검사 할 수 있습니다. (여기에 이탈 코드 참조)
달려있어. MSI는 WMI를 사용하여 설치할 수 있습니다. exes 및 다른 메소드의 경우 Start-Process를 사용하고 Process ExitCode를 확인할 수 있습니다.
msi는 msiexec. exe를 사용하여 설치할 수도 있고, msu는 wusa. exe를 사용하여 설치할 수 있습니다. 둘 다 / quiet 스위치, / norestart 및 / forcerestart 스위치 및 로깅을위한 / log 옵션 (파일 이름 지정)이 있습니다.
옵션을 /로 호출하면 옵션에 대한 자세한 내용을 볼 수 있습니다.
참고 : wusa가 실패하면 자동으로 실패하므로 로그 파일이나 이벤트 로그를 확인하여 성공 여부를 확인해야합니다.
현재 프로젝트에서 찾고있는 것을 정확히 구현했습니다. 우리는 여러 환경과 데이터 센터에서 n 개의 응용 프로그램을 배포하고 점적하는 것을 자동화해야합니다. 이러한 스크립트는 전체 코드가 1000 줄에 도달했지만 핵심 기능이 손상되지 않았기 때문에 원래 버전과 약간 수정되었습니다. 나는 이것이 당신이 요구하는 바를 수행하기를 바랍니다.
이 PS 기능은 레지스트리에서 모든 응용 프로그램을 가져오고 (추가 / 제거 프로그램에서 읽음) 제공된 응용 프로그램 이름 및 표시 버전을 검색합니다. 내 코드 (PSM1)에서는 설치하기 전에이 함수를 실행하고 설치 여부를 확인하기 위해 후행인지 여부를 결정합니다. 이 모든 것이 하나의 마스터 기능에서 관리자 흐름 제어로 래핑 될 수 있습니다.
이 PS 기능은 설치 명령이 미리 채워진 txt 파일을로드합니다 (한 줄에 하나의 명령). 개별적으로 각 행을 실행하고 설치가 완료 될 때까지 기다렸다가 다음 단계로 넘어갑니다.
TXT 파일은 이와 같이 형식화되어야합니다. 당신은 각 애플 리케이션을 설치해야하는 방법에 대한 연구를해야 할 것입니다. 좋은 자원은 appdeploy입니다.
독점적 가치를 제거하고 좀 더 단순화하기 위해 기존 코드를 수정해야하는 오류가 있는지 알려주십시오. 사용자 정의 XML 응답 시트에서 값을 가져옵니다. 하지만이 코드는 내가 제공 한대로 작동해야합니다.
내 구현에 대해 더 자세히 논의하고 싶다면 좀 더 자세한 설명을하고 내가 구현 한 지원 기능을 더 추가 할 수 있습니다.

Msiexec waitforexit
App Store를 통해 가져 오기 우리의 응용 프로그램 에서이 게시물을 읽으십시오!
배치 파일에서 exe가 완료 될 때까지 어떻게 기다려야합니까?
sp1을 설치하기 위해 종료시 exe를 실행하는 스크립트를 작성하려고합니다. 내 스크립트는 (실제 박쥐 스크립트가 아닌) 무언가를 간다.
내 문제는 그것이 실행될 때 설치 프로그램을 시작한 다음 설치 프로그램이 다른 프로세스이고 설치 프로세스를 종료하여 스크립트를 완료한다는 것입니다. 컴퓨터가 종료되어 시스템을 종료하기 때문입니다 (적어도 그것이 내가 생각하는 것입니다 하고있어.)
시작한 프로세스가 완료되고 종료 될 때까지 기다리는 방법이 있습니까?
하나 더 짧은 길 :
사용할 수는 있지만 콘솔 출력을 더 잡을 수는 있습니다. 이것이 작동하는 이유입니다. 파이프 된 명령은. exe가 끝날 때까지 입력을 대기합니다.
배치 파일에서 직접 exe를 호출하거나 start / wait를 사용하면 작동하지만 경고가 있습니다.
호출 한 exe가 다른 exe 호출과 같은 다른 프로세스를 생성 한 다음 호출 된 exe가 종료 된 후에도 배치 파일을 종료하면 프로세스가 시작한 다른 프로세스를 알지 못하므로 처리를 계속합니다.
귀하의 경우에는 설치 프로그램이 정상적으로 exe 파일 자체에 내장 된 압축 컨테이너 중 일부 양식에서 파일을 추출한 다음 추출 된 파일 중 하나를 실행하고 종료하게되므로 실제 문제입니다. 일부 설치 프로그램은 전체 설치가 완료 될 때까지 원래의 exe를 종료하지 말 것을 명령하는 명령 줄 매개 변수를 제공하므로 사용자가 조사하려고 할 수도 있습니다. 이 외에도 배치 파일만으로는이 문제를 해결할 실제 방법이 없으며 프로그래밍 방식의 솔루션을 통해 해결할 수 있습니다.
다음은 MATLAB을 사용하는 예제입니다! 필자는 MATLAB의 경로 설정이 완료되었다고 가정하고 FileName. m 파일 (또는 사용자가 내부적으로 지정한 것)에 의해 MATLAB 종료를 보장합니다.
start / wait 명령을 사용할 수 있습니다. 그러면 응용 프로그램이 시작되고 프로그램이 끝날 때까지 대기합니다.

Msiexec waitforexit
App Store를 통해 가져 오기 우리의 응용 프로그램 에서이 게시물을 읽으십시오!
스크립트에서. msi를 설치하고 설치가 완료되면 검색하십시오.
설치 스크립트를 만들려고합니다..msi 파일, Python을 설치하고 Python을 설치 한 후에 다른 것들을 설치하려고합니다. 이미 명령 줄 설치 방법을 알고 있습니다. 그러나 msiexec은 설치가 계속 실행 중일 때에도 즉시 반환됩니다. 배치 스크립트에서 msi 설치 완료를 어떻게 감지합니까?
파이썬이 Windows / DOS로 명령을 전달하는 방법을 모르지만 일반 배치 파일과 시작 / 대기 명령을 사용하면 배치 파일이 중지되고 다음 단계로 넘어 가기 전에 MSI가 완료 될 때까지 대기합니다.
예를 들어 주 응용 프로그램을 설치하고 패치가 끝나면 패치를 한 다음 마지막 프로그램을 완료 한 후에는 다음 행을. cmd 파일에 놓으십시오.
까다 롭고 신뢰할 수 없지만 프로세스 목록에 특정 프로세스의 존재 여부를 모니터링하는 방법이 있습니다. 그 프로세스가 더 이상 존재하지 않을 때까지 기다리는 동안 루프를 NOOP에 작성한 후 다음 단계를 수행하십시오. 이것을 처리하는 몇 가지 방법이 있습니다.
SysInternals 도구 pslist는 프로세스를 표시하지만 출력 파싱이 까다로울 수 있습니다. PowerShell은 API에 액세스하여 get-process cmdlet을 통해 프로세스 모니터링을 수행 할 수 있습니다.
이 메소드는 프로세스의 존재 여부 만 모니터링하고 종료 코드를 확인할 수 없기 때문에 프로세스가 정상적으로 또는 오류 상태에서 벗어 났는지 여부를 알 수 없습니다. 이를 위해서는 생성 된 MSI 로그를 처리하거나 Windows Even Log에서 오류 이벤트를 조사해야합니다.
성공적으로 설치하면 재부팅 옵션에 따라 3 개의 코드 0,1641,3010이 반환됩니다. 스크립트를 수정하여 코드를 반환하도록하십시오.

Comments

Popular Posts