Chocolatey 패키지에서 shimming되지 않도록 실행 파일을 제외하는 방법
3400 단어 chocolateypowershellwindows
셀프프로모션 : 마이website에서 다른 글을 보실 수 있습니다 😉
문제가 있는
Chocolatey 패키지를 만들거나 상호 작용할 때 Chocolatey를 통해 설치된 프로그램이 프로세스를 표시하거나 완료하지 못하는 상황이 발생할 수 있습니다. 프로그램이 사용자가 요청한 작업을 수행하기 때문에 매우 불편할 수 있습니다. 😝
문제는 Chocolatey 기능 "EXECUTABLE SHIMMING "에서 발생합니다. 이 기능은 항상 제대로 설정되지 않고 프로그램 실행이 완료될 때까지 기다리지 않습니다. 일반적으로 프로그램에 그래픽 인터페이스가 있을 때 발생할 수 있지만 그래픽 인터페이스를 고려하지 않고 명령줄을 통해 일부 프로세스를 실행하도록 하려는 경우입니다.
우리는 두 가지 솔루션에 대해 자세히 설명할 것입니다. 하나는 초콜릿 패키지 동작에 대한 해결 방법인 Chocolatey 패키지 사용자이고 다른 하나는 초콜릿 패키지 관리자인 경우 패키지가 적절하게 동작하도록 하는 것입니다 😉
해결책
해결 방법
솔루션은 Chocolatey 패키지 사용자로서 사용하는 명령줄에 특정 옵션을 전달하는 것입니다.
my_program.exe --shimgen-waitforexit
플래그shimgen-waitforexit는 바로 그런 상황을 위해 만들어진 것입니다. 그러나 또한 패키지 자체에서 직접 아래 솔루션을 구현할 수 있도록 패키지 유지 관리자에게 알리도록 권장합니다.
적절한 수정
패키지에 이런 종류의 오류가 있는 경우 이를 올바르게 수정할 수 있는 방법이 있습니다 🙂
설치 스크립트에 다음 줄을 포함하면 shim을 받는 패키지의 실행 파일을 제외할 수 있으므로 문제가 해결됩니다.
Get-ChildItem $PSScriptRoot\*.exe | ForEach-Object { New-Item "$_.ignore" -type file -force | Out-Null }
여기서 무슨 일이 일어나고 있는지 조금 설명합시다!
먼저, Chocolatey Package의 설치 폴더에 있는 모든
.exe
파일을 가져오는 것부터 시작합니다. 그런 다음 발견된 각 실행 파일에 대해 이름은 같지만 확장자가 .exe.ignore
인 빈 파일을 새로 만듭니다. 이 확장은 이제 실행 파일을 shim하고 동시에 문제를 수정하도록 Chocolatey에게 말할 것입니다!😉이 글을 읽어주신 모든 분들께 감사드리며 다음 글까지 좋은 하루 보내세요 😉
흥미로운 링크
Reference
이 문제에 관하여(Chocolatey 패키지에서 shimming되지 않도록 실행 파일을 제외하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/10xlearner/how-to-exclude-an-executable-from-getting-shimming-in-a-chocolatey-package-11p5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)