폴더 안에는 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 목록, 작업 관리자 또는 설정 -> 앱 및 기능의 앱 목록에서 사용할 수 있다면 좋을 것입니다. 지금까지 나는 이 세 가지 정보를 수집하는 쉬운 방법을 찾지 못했습니다. 다음은 작업 관리자와 파일 탐색기를 사용하여 수행하는 단계입니다.내 블로그 게시물.
- 시작 메뉴, 작업 표시줄 등에서 평소처럼 최신 앱을 엽니다.
- 작업 관리자 실행(Windows 작업 표시줄을 마우스 오른쪽 버튼으로 클릭하고 "작업 관리자" 선택)
- 관심 있는 앱 목록을 확장하고 하위 항목을 마우스 오른쪽 버튼으로 클릭한 다음 "세부정보로 이동"을 선택하세요.
- 강조 표시된 실행 파일을 마우스 오른쪽 버튼으로 클릭하고 "파일 위치 열기"를 선택합니다.
- 방금 연 디렉토리의 이름은 패키지 이름과 게시자 ID를 제공합니다(파싱 방법을 알고 있는 경우). 예를 들어 일정 앱을 사용하면 디렉터리 이름 "microsoft.windowscommunicationsapps_16005.12827.20560.0_x64__8wekyb3d8bbwe"는 패키지 이름("microsoft.windowscommunicationsapps")으로 시작하고 뒤에는 이 앱에 필요하지 않은 버전 및 플랫폼 정보가 옵니다. ("16005.12827.20560.0_x64"), 게시자 ID("8wekyb3d8bbwe")가 나옵니다. 나중에 사용할 수 있도록 패키지 이름과 게시자 ID를 기록해 두십시오.
- 해당 디렉터리에서 AppxManifest.xml 파일을 엽니다.
- AppxManifest.xml 파일 상단 근처에 Name 특성이 있는 Identity 요소가 있습니다. 이 값이 디렉터리 이름에서 이미 가져온 패키지 이름과 일치하는지 확인하세요.
- AppxManifest.xml 파일에서 실행 파일 이름(예: HxCalenderAppImm.exe)을 검색하면 다음과 같은 XML 요소를 찾을 수 있습니다.
이제 필요한 세 가지 정보를 수집했으므로 명령줄에서 앱을 여는 명령을 빌드할 수 있습니다.
명령은 다음과 같으며 해당 부분을 위에서 수집한 세 가지 정보로 대체합니다.
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"을 대상으로 사용하여 바로 가기로 전환될 수 있습니다.