최신 앱의 .exe 파일이 실행되지 않고 앱 컨테이너와 관련된 오류가 발생하는 이유는 무엇입니까?

최신 앱의 .exe 파일이 실행되지 않고 앱 컨테이너와 관련된 오류가 발생하는 이유는 무엇입니까?

폴더 안에는 C:\Program Files\WindowsApplications내 PC의 최신 앱용 .exe 파일이 있습니다. 그 중 하나를 두 번 클릭하면 다음과 같은 팝업이 나타납니다.

This application can run only in the context of an app container

타일뿐만 아니라 .exe 파일에서 직접 최신 앱을 실행할 수 있는 방법이 있나요?

미리 감사드립니다!

추신: 저는 Windows 10 기술 미리보기를 사용하고 있습니다.

답변1

Windows 8 이전에는 "독립 실행형" .exe 응용 프로그램을 사용할 수 있었습니다. 설치는 주로 응용 프로그램이 필요한 것을 쉽게 찾고 실행할 수 있도록 링크와 참조를 만드는 것이었습니다. 애플리케이션에 필요한 모든 것이 애플리케이션 자체에서 제공된다면 설치 없이 실행될 수 있습니다. 앱 컨테이너는 Win 8에서 도입된 보안 개념입니다. 설치하지 않고도 애플리케이션은 자체 폴더에 액세스할 수 있으며 대부분의 장치를 포함하여 그 밖의 거의 접근할 수 없습니다. 애플리케이션을 설치하려면 앱 컨테이너와 함께 작동하도록 설계해야 합니다. 이것링크개념과 작동 방식에 대한 적절한 설명이 있습니다.

편집: 설치된 애플리케이션의 경우 모든 연결 및 권한이 타일에 연결된 것으로 나타나므로 .exe를 직접 실행할 수 없습니다.

답변2

다음과 같이 explorer.exe 셸 명령을 사용하여 명령줄에서 Windows 최신 앱을 실행할 수 있습니다.

explorer.exe shell:AppsFolder\<Package Name>_<Publisher ID>!<App ID>

또는 인수를 전달해야 하는 경우 시작을 통해 권장됩니다.

start shell:AppsFolder\<Package Name>_<Publisher ID>!<App ID> arg1 arg2

비결은 패키지 이름, 게시자 ID 및 앱 ID를 찾는 것입니다. 이 모든 정보가 앱의 Microsoft Store 목록, 작업 관리자 또는 설정 -> 앱 및 기능의 앱 목록에서 사용할 수 있다면 좋을 것입니다. 지금까지 나는 이 세 가지 정보를 수집하는 쉬운 방법을 찾지 못했습니다. 다음은 작업 관리자와 파일 탐색기를 사용하여 수행하는 단계입니다.내 블로그 게시물.

  1. 시작 메뉴, 작업 표시줄 등에서 평소처럼 최신 앱을 엽니다.
  2. 작업 관리자 실행(Windows 작업 표시줄을 마우스 오른쪽 버튼으로 클릭하고 "작업 관리자" 선택)
  3. 관심 있는 앱 목록을 확장하고 하위 항목을 마우스 오른쪽 버튼으로 클릭한 다음 "세부정보로 이동"을 선택하세요.
  4. 강조 표시된 실행 파일을 마우스 오른쪽 버튼으로 클릭하고 "파일 위치 열기"를 선택합니다.
  5. 방금 연 디렉토리의 이름은 패키지 이름과 게시자 ID를 제공합니다(파싱 방법을 알고 있는 경우). 예를 들어 일정 앱을 사용하면 디렉터리 이름 "microsoft.windowscommunicationsapps_16005.12827.20560.0_x64__8wekyb3d8bbwe"는 패키지 이름("microsoft.windowscommunicationsapps")으로 시작하고 뒤에는 이 앱에 필요하지 않은 버전 및 플랫폼 정보가 옵니다. ("16005.12827.20560.0_x64"), 게시자 ID("8wekyb3d8bbwe")가 나옵니다. 나중에 사용할 수 있도록 패키지 이름과 게시자 ID를 기록해 두십시오.
  6. 해당 디렉터리에서 AppxManifest.xml 파일을 엽니다.
  7. AppxManifest.xml 파일 상단 근처에 Name 특성이 있는 Identity 요소가 있습니다. 이 값이 디렉터리 이름에서 이미 가져온 패키지 이름과 일치하는지 확인하세요.
  8. AppxManifest.xml 파일에서 실행 파일 이름(예: HxCalenderAppImm.exe)을 검색하면 다음과 같은 XML 요소를 찾을 수 있습니다.
이는 필요한 세 번째 정보인 애플리케이션 ID를 제공합니다.

이제 필요한 세 가지 정보를 수집했으므로 명령줄에서 앱을 여는 명령을 빌드할 수 있습니다.

  1. 명령은 다음과 같으며 해당 부분을 위에서 수집한 세 가지 정보로 대체합니다.

    explorer.exe shell:AppsFolder\<Package Name>_<Publisher ID>!<App ID>

메일 및 달력 패키지의 달력 앱 예제를 계속 진행하면 다음과 같이 입력할 수 있습니다.

explorer.exe shell:AppsFolder\microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.calendar

친애하는 Microsoft: 이 작업을 더 쉽게 만들어주세요!

답변3

나는 그것이 적어도 어떤 면에서든 지금은 가능하다고 믿습니다. 예를 들어 "Windows Scan" 응용 프로그램은 "Microsoft.WindowsScan_8wekyb3d8bbwe!App"을 대상으로 사용하여 바로 가기로 전환될 수 있습니다.

관련 정보