Windows 데스크톱 응용 프로그램을 유니버설 Windows 응용 프로그램으로 변환하는 방법
Windows 10의 Anniversary Update를 통해 Microsoft는 개발자가 기존 Windows 데스크톱 응용 프로그램을 Universal Windows Platform (UWP) 응용 프로그램으로 변환 할 수있게되었습니다. 개발자는 물론 모든 앱에서 누구나이 작업을 수행 할 수 있습니다..
Windows 10의 변환기에서는 .msi 또는 .exe 파일 만 지정하면 .appx 패키지가 나옵니다. 그런 다음이 응용 프로그램을 자신의 PC에서 사이드로드하거나 응용 프로그램 개발자 인 경우 UWP 응용 프로그램을 Windows 저장소에 제출할 수 있습니다. 이 기능은 Windows 10 기념일 업데이트가있는 모든 사용자에게 제공 될 예정이며 많은 "기존"응용 프로그램이 Windows 저장소에 제공됩니다..
왜 당신이 이것을 원할 것인가?
이 기능은 "기존"Win32 및 .NET Windows 데스크톱 응용 프로그램을 Windows 저장소 및 새로운 Universal Windows 플랫폼으로 가져 오도록 설계된 Microsoft Project Centennial의 최종 결과입니다.
왜 누군가가 데스크톱 응용 프로그램을 새로운 UWP 응용 프로그램으로 변환하려고하는지 궁금 할 것입니다. 한 가지만 Windows 스토어에서는 UWP 앱만 허용됩니다. 이를 통해 개발자는 한 번의 클릭으로 설치, 손쉬운 구매 및 자동 업데이트는 물론 앱에서 더 많은 눈을 뜰 수 있습니다..
Microsoft의 새로운 UWP 응용 프로그램 플랫폼은 샌드 박스 처리되지만 변환하는 데스크톱 응용 프로그램은 그렇지 않습니다. 이러한 응용 프로그램은 기존 데스크톱 응용 프로그램과 마찬가지로 시스템에 대한 모든 액세스 권한을 갖습니다. 마이크로 소프트의 문서에 따르면 : "UWP 애플 리케이션으로, 당신의 앱은 고전적인 데스크톱 애플 리케이션으로 할 수있는 일을 할 수있다. 실제 레지스트리 및 파일 시스템과 구별 할 수없는 레지스트리 및 파일 시스템의 가상화 된보기와 상호 작용합니다. "
제한 사항
여기서 몇 가지 중요한 제한 사항이 있습니다. 첫째, Windows 10 주년 업데이트에서만이 작업을 수행 할 수 있습니다. 지금은 Windows 10 Insider Preview 빌드 14316 이상에서 작동하므로 Windows Insider 프로그램에 참여하고 Windows 10의 Insider Preview 빌드를 사용해야합니다..
이 기능을 사용하려면 Professional 또는 Enterprise 버전의 Windows 10이 필요합니다. Windows 10 Home 사용자는 Desktop App Converter를 사용할 수 없습니다. 빌드 14316 현재, Windows 10 Enterprise에서만 작동하지만 Windows 10 Professional에 대한 지원이 이루어집니다. 현재이 도구는 64 비트 버전의 Windows에서만 사용할 수 있으며 결과로 나오는 AppX 패키지는 64 비트 버전의 Windows에만 설치할 수 있습니다. Windows 10의 향후 내부자 빌드에서 변경 될 예정입니다..
결과 응용 프로그램은 Windows 10 PC 용입니다. Windows 10 Mobile 스마트 폰, Xbox One, HoloLens, Surface Hub 및 UWP 응용 프로그램을 실행하는 다른 Windows 10 플랫폼에서는 작동하지 않습니다. 그러나 개발자 인 경우 Microsoft는 데스크톱 응용 프로그램을 플랫폼 간 UWP 응용 프로그램으로 가져올 수있는 방법을 제공합니다. "응용 프로그램의 전체 신뢰 영역에서 모든 응용 프로그램 기능을 응용 프로그램 컨테이너 파티션을 사용하면 모든 Windows 10 장치에서 응용 프로그램을 실행할 수 있습니다. "
그러나 일부 유형의 응용 프로그램 동작은 지원되지 않습니다. 응용 프로그램을 관리자로 실행하거나 다른 유형의 저급 시스템 액세스를 사용하도록 요구할 수는 없습니다. Microsoft는 허용되지 않는 동작 목록을 제공합니다..
데스크톱 응용 프로그램 변환기를 설정하는 방법
새로운 Windows 10 Insider Preview 빌드를 사용하고 있다고 가정하면 Microsoft Developer 사이트에서 Desktop App Converter를 다운로드하여 설치할 수 있습니다. DesktopAppConverter.zip 및 BaseImage-14316.wim 파일을 모두 다운로드하십시오. 다운로드 한 DesktopAppConverter.zip 파일을 컴퓨터의 폴더로 추출하고 BaseImage 파일을 같은 디렉토리에 저장하십시오. (사용 가능한 새로운 Windows 10 빌드가있는 경우 새 BaseImage 파일이 표시됩니다. 설치된 Windows 10 빌드와 동일한 버전 번호로 BaseImage 파일을 사용해야합니다.
또한 Windows 10 SDK를 다운로드하여 설치해야합니다..
그런 다음 PowerShell 창을 관리자로여십시오. 이렇게하려면 시작 메뉴를 열고 "PowerShell"을 검색하고 해당 바로 가기를 마우스 오른쪽 단추로 클릭 한 다음 "관리자 권한으로 실행"을 선택하십시오.
다음 명령을 실행하여 PowerShell 실행 정책을 변경하십시오. 입력하여 변경 사항에 동의하십시오. 와이
나중에.
Set-ExecutionPolicy 바이 패스
아래 명령을 실행하여 C : \ Users \ NAME \ Downloads \ DesktopAppConvertor
컴퓨터에있는 디렉토리의 경로와 함께 :
cd - 경로 C : \ Users \ NAME \ Downloads \ DesktopAppConvertor
다음 명령을 실행하여 Desktop App Converter를 설정하십시오.
.\ DesktopAppConverter.ps1 -Setup -BaseImage. \ BaseImage-14316.wim
이러한 명령을 실행하는 동안 재부팅하라는 메시지가 나타나면 컴퓨터를 재부팅 한 다음 명령을 다시 실행하십시오..
데스크톱 응용 프로그램 변환 방법
이제 DesktopAppConverter.ps1
스크립트를 관리자 PowerShell 창에서 사용하여 단일 명령으로 데스크톱 응용 프로그램을 UWP 응용 프로그램으로 변환 할 수 있습니다. 이 작업을 수행하려면 응용 프로그램의 설치 관리자가 필요합니다. 예를 들어 여기서는 VLC를 사용합니다..
자세한 옵션 목록을 보려면 언제든지 다음 명령을 실행할 수 있습니다.
get-help. \ DesktopAppConverter.ps1 -detailed
다음은 애플리케이션을 사용하고 조정할 수있는 명령입니다.
.C : \ Program Files \ Microsoft \ Windows \ Images \ BaseImage-14316 -Installer C : \ Installer \ MyApp.exe -InstallerArguments "/ S"- 대상 C : \ Output \ MyApp -PackageName "MyApp"- \ DesktopAppConverter.ps1 -ExpandedBaseImage 게시자 "CN ="- 버전 0.0.0.1 -MakeAppx -Verbose
자신의 게시자 이름, 버전, 패키지 이름을 추가하고 원하는 설치 프로그램 파일 및 대상 디렉토리에서 가리 키도록 명령을 조정해야합니다. 그만큼 -InstallerArguments "/ S"
여기서 옵션은 /에스
설치 프로그램으로 전환하면 많은 응용 프로그램 설치 프로그램이 사용자 입력없이 자동 설치됩니다. 응용 프로그램은 사용자 입력없이 설치 가능해야하며 그렇지 않으면 변환 할 수 없습니다..
설치 프로그램과 동일한 디렉토리에있는 파일이 결과 .appx 패키지로 복사되므로 응용 프로그램의 설치 프로그램이 다른 파일없이 자체 디렉토리에 있어야합니다..
예를 들어 여기서 VLC를 사용하기 때문에 다음과 같은 명령을 사용합니다.
.\ DesktopAppConverter.ps1 -ExpandedBaseImage C : \ ProgramData \ Microsoft \ Windows \ Images \ BaseImage-14316 -Installer C : \ Users \ chris \ Downloads \ vlc \ vlc-2.2.2-win32.exe -InstallerArguments "/ S"-Destination C : \ Output \ VLC -PackageName "VLC"- 게시자 "CN = VideoLAN"- 버전 0.2.2.2 -MakeAppx -Verbose
이 도구는 앱의 UWP 버전 인 .appx 패키지를 제공합니다..
서명하지 않고 앱을 설치하는 방법
일반적으로 유효한 서명이있는 로그인 앱을 설치하기 전에 앱을 설치해야합니다. 자체 서명 된 인증서를 만들고 컴퓨터에 인증서를 사용하여 응용 프로그램에 서명하는 것이 좋습니다. 원할 경우 아래 지침을 사용하여 수행 할 수 있습니다..
그러나 자신의 컴퓨터에 앱을 설치하기를 원하는 경우, 서명을 망칠 필요없이 자신이 더 빨리이 작업을 수행 할 수 있습니다. Windows 10에서는 디렉토리에서 "패키지되지 않은"앱을 설치하는 경우 서명하지 않고 앱을 설치할 수 있습니다..
이렇게하려면 PowerShell 창을 관리자로 열고 다음 명령을 실행하십시오.
Add-AppxPackage -Path C : \ Path \를 \ AppxManifest.xml에 추가 - 등록
AppxManifest.xml 파일은 지정한 출력 디렉터리의 Application.appx 파일 옆에 있습니다..
이제 시작 메뉴에서 응용 프로그램을 시작할 수 있습니다. '데스크톱 앱'대신 'Windows 앱'이되지만 일반 데스크톱 앱처럼 보이고 작동합니다..
앱 서명 및 설치 방법
응용 프로그램을 이미 설치 한 경우이 지침을 따르지 않아도됩니다. 이것은 더 어려운 방법이다..
일반적으로 유효한 서명이있는 경우 .appx 패키지 만 설치할 수 있습니다. Microsoft는 Windows 10 SDK에 포함 된 signtool.exe 응용 프로그램을 사용하여 자체 서명 된 인증서를 만들 것을 권장합니다.이 인증서를 사용하면 자신의 컴퓨터에 응용 프로그램을 설치하고 테스트 할 수 있습니다.
관리자 권한으로 명령 프롬프트 창을 열고 다음 명령을 실행하여 자체 서명 된 인증서를 만들고이를 사용하여 .appx 패키지에 서명하십시오.
cd "C : \ Program Files (x86) \ Windows 키트 \ 10 \ bin \ x64"
MakeCert.exe -r -h 0 -n "CN = Publisher"-eku 1.3.6.1.5.5.7.3.3 -pe -sv my.pvk my.cer
pvk2pfx.exe -pvk my.pvk -spc my.cer -pfx my.pfx
signtool.exe 서명 -f my.pfx -fd SHA256 -v C : \ Path \ to \ application.appx
게시자가 지정한 게시자는 "CN = Publisher"
-AppX 파일을 만들 때 이전에 지정한 게시자와 일치해야합니다. 그래서 위의 VLC 예제를 계속 사용하면 "CN = VideoLAN"
.
암호를 입력하라는 메시지가 나타납니다. 비밀번호를 비워두면됩니다..
이제 Add-AppxPackage 명령을 사용하여 PowerShell (Administrator) 창에서 .appx 패키지를 설치할 수 있습니다.
AppxPackage C : \ Path \를 \ application.appx에 추가하십시오.
이 기능은 누구나 사용할 수 있지만 개발자 및 시스템 관리자 만이이 경로를 사용하고자합니다. 운좋게도이 프로세스는 개발자에게 매우 쉽습니다..