다음을 통해 공유


바로 연결

가속기는 레거시 애플리케이션(앱)을 MSIX 형식으로 변환하는 효율적인 방법을 제공합니다. 패키지(앱)와 관련된 중요한 정보로 구성됩니다. 변환이 수행되는 운영 체제(OS) 변환된 MSIX의 적절한 작동을 위해 패키지를 수정하는 데 필요한 단계와

필수 조건

초기 액세스 미리 보기 빌드에서 가속기를 사용해 보려면 MSIX 패키징 도구 참가자 프로그램에 가입합니다.

액셀러레이터 만들기

가속기 구조를 확인하고 이를 사용하여 사용자 고유의 액셀러레이터를 빌드하려면 MSIX-Labs GitHub 리포지토리의 샘플 가속기를 참조하세요.

정의

  • PackageName: 패키지는 MSIX 형식으로 변환되는 레거시(exe, msi 등) 설치 관리자가 있는 애플리케이션 또는 프로그램(Win32, WPF 또는 Windows Forms 앱)입니다.
  • PackageVersion: 패키지 버전은 특정 릴리스와 연결됩니다. 경우에 따라 완벽하게 구성된 의미 체계 버전 관리 번호가 표시되며, 다른 경우에는 다른 것을 볼 수 있습니다. 이러한 문자는 날짜 기반이거나 패키지 관련 의미를 가진 다른 문자가 있을 수 있습니다.
  • PublisherName: 패키지의 원래 게시자의 이름입니다.
  • EligibleForConversion: 일부 앱은 보안상의 이유로 변환, 드라이버 사용 등을 금지합니다. 따라서 이 플래그는 변환 자격을 결정하는 데 사용됩니다. 허용되는 값은 여기에서 찾을 수 있습니다.
  • ConversionStatus: 애플리케이션 변환의 상태 결정합니다. 허용되는 값은 여기에서 찾을 수 있습니다.
  • RemediationApproach:
    • SequenceNumber: 수정 단계의 시퀀스 번호를 결정합니다. 앱을 성공적으로 변환하는 단계를 순차적으로 제공해야 합니다.
    • 문제:
      • 설명: 변환하는 동안 발생한 실제 문제에 대한 텍스트 설명입니다. 예를 들어 Procmon의 레지스트리 오류 또는 FileCreate 오류가 있습니다.
      • 참조: (선택적 필드) 문제에 대한 자세한 정보가 포함된 문서에 대한 링크입니다.
    • 수정 사항:
      • FixType: 특정 종류의 단계입니다. 예제 - FixType이 "기능"인 경우 이 시점에서 특정 기능을 추가해야 합니다. 허용되는 값은 여기에서 찾을 수 있습니다.
      • 참조: 수정 사항 및 수행 방법에 대한 자세한 정보가 포함된 문서에 대한 참조 링크입니다. 이 필드는 선택적입니다.
      • FixDetails: 특정 FixType에서 필요한 특정 종류의 수정을 확인합니다. 예 - Fixtype이 "종속성"인 경우 FixDetails에는 애플리케이션에 대해 추가해야 하는 모든 종속성을 나열하는 "종속성"이라는 배열 형식 필드가 있습니다. 사용 사례는 여기에서 찾을 수 있습니다.
  • MinimumPSFVersion: (FixType 중 하나가 PSF 또는 PackageSupportFramework를 사용하는 경우에만 필요). PSF 릴리스는 이전 버전과 호환되므로 지정된 버전보다 큰 모든 버전이 작동합니다.
  • AdditionalComments: 앱 변환과 관련된 추가 정보를 나열하려면 사용자 읽기 전용입니다. 이 필드는 선택적입니다.
  • 버전: 운영 체제의 버전입니다. 예 - Windows 10 Enterprise.
  • MinimumOSVersion: 운영 체제의 버전입니다. 예 - 21H1. 이 필드는 지정된 OS 버전보다 큰 모든 버전이 작동한다는 의미입니다.
  • MinimumOSBuild: 운영 체제의 빌드 버전입니다. 예 - "19043.1165". 이 필드는 지정된 OS 빌드보다 큰 OS 빌드가 작동한다는 것을 의미합니다.
  • 아키텍처: 패키지(애플리케이션)의 아키텍처입니다. (32/64비트)
  • MSIXConversionToolVersion: 변환에 사용되는 MSIX 패키징 도구의 버전입니다. 예 - 1.2021.709.0;
  • AcceleratorVersion: 사용 중인 가속기의 버전입니다. 현재 최신 버전은 1.0.0입니다.

액셀러레이터에 대한 명령줄 옵션

자동 변환의 경우 MSIX 패키징 도구를 통해 가속기 템플릿을 생성할 수 있습니다.

  1. MSIX 압축 도구 설정 '각 패키지로 명령줄 파일 생성' 옵션이 선택되어 있는지 확인합니다.

  2. 변환 프로세스에서 가속기를 적용하여 MSIX 패키징 도구를 사용하여 앱을 변환합니다.

  3. 기본적으로 변환 템플릿 파일은 다른 저장 위치를 지정하지 않는 한 MSIX 패키지와 동일한 위치에 저장됩니다.

  4. 관리자 모드에서 MsixPackagingTool.exe를 실행합니다.

  5. 다음 cmdlet을 실행하여 가속기 템플릿을 사용합니다.

MsixPackagingTool.exe create-package --template c:\users\documents\AcceleratorTemplate.xml

명령줄 변환을 위한 템플릿 파일 생성에 대한 자세한 내용은 여기를 참조하세요 . 여기서 명령줄 인수 로 전달할 수 있는 매개 변수에 대해 알아봅니다.

ConversionStatus에 대한 사용 사례

  • 성공 - 수정이 필요하지 않음
ConversionStatus: Successful - No Fix Required
  • 성공 - 수정 필요
ConversionStatus: Successful - Fix Required

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: App unable to install visual c++ dependency
    Fix:
      FixType: Dependency
      FixDetails:
        Dependencies:
          - Visual C++
  • 문제가 있는 변환
ConversionStatus: Converted With Issues

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Shortcut not captured
    Fix:
      FixType: EntryPoint 
      FixDetails:
        EntryPointIssue: ShortcutNotCaptured
        Solution:
          - Launch from start menu
  • 실패
ConversionStatus: Failed

RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Registry errors in Procmon
  • 적격하지 않음
EligibleForConversion: No - Driver Required

ConversionStatus: Not Eligible

FixDetails에 대한 사용 사례

  • FixType: 기능
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Admin Access needed to run an app 
    Fix:
      FixType: Capability
      Reference: /windows/uwp/packaging/app-capability-declarations#:~:text=or%20Visual%20Studio.-,Elevation,-The%20allowElevation%20restricted
      FixDetails:
        Capabilities:
          - allowElevation
      
  • FixType: 종속성
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: The app needs a 2008 C++ to be installed in the system
      Reference: https://forums.guru3d.com/threads/problem-running-afterburner.408768/
    Fix:
      FixType: Dependency
      Reference: https://forums.guru3d.com/threads/problem-running-afterburner.408768/
      FixDetails:
        Dependencies:
          - C++ 2008 runtime 
  • FixType: InstallationPath
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Required permissions were not granted to the VFS folder and launcher.exe was not available during msix launch
    Fix:
      FixType: InstallationPath
      Reference: /windows/msix/packaging-tool/create-app-package#package-information
      FixDetails:
        Path: C:/Users/User/AppData/Local
  • FixType: 사용자 지정
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description:  Chromium is downloaded as zip (not exe or msi).
    Fix:
      FixType: Custom
      FixDetails:
        Solution:
          - MSIX Packaging Tool Installation Step, Unzip the chromium.zip and then launch chrome.exe.
  • FixType: PSF
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: There were create file errors in process monitor
    Fix:
      FixType: PSF
      Reference: https://github.com/Microsoft/MSIX-PackageSupportFramework/tree/master/fixups/FileRedirectionFixup
      FixDetails:
        PSFConfig:
          applications:
            - id: LINELAUNCHER
              executable: LINE/bin/LineLauncher.exe
              workingDirectory: LINE/bin/
          processes:
            - executable: LineLauncher
              fixups:
                - dll: FileRedirectionFixup.dll
                  config:
                    redirectedPaths:
                      packageRelative:
                        - base: LINE/Data/
                          patterns:
                            - .*\.tst
                        - base: LINE/bin/
                          patterns:
                            - .*
  • FixType: 서비스
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: MSIX Packaging Tool failed to convert to MSIX stating a service is running outside the package.
    Fix:
      FixType: Services
      FixDetails:
        Exclude:
          - CleanupPSvc
  • FixType: EntryPoint
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Shortcut not captured
      Reference: https://microsoft.visualstudio.com/DefaultCollection/OS/_workitems/edit/35877020
    Fix:
      FixType: EntryPoint 
      FixDetails:
        EntryPointIssue: ShortcutNotCaptured
        Solution:
          - Launch from start menu
  • FixType: InstalledLocationVirtualization
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: Test Issue
    Fix:
      FixType: InstalledLocationVirtualization
      Reference: /uwp/schemas/appxpackage/uapmanifestschema/element-uap10-installedlocationvirtualization
      FixDetails:
        UpdateActionsAttributes:
          ModifiedItems: keep
          DeletedItems: reset
          AddedItems: keep
  • FixType: LoaderSearchPathOverride
RemediationApproach:
  - SequenceNumber: 1
    Issue:
      Description: DLL not found 
    Fix:
      FixType: LoaderSearchPathOverride
      Reference: /uwp/schemas/appxpackage/uapmanifestschema/element-uap6-loadersearchpathoverride
      FixDetails:
        FolderPaths: 
          - VFS\ProgramFilesX64\LINE\lib
          - VFS\ProgramFilesX64\LINE\bin

EligibleForConversion에 허용되는 값

  • 아니요
  • 아니요 - 드라이버 필요

ConversionStatus에 허용되는 값

  • 성공 - 수정이 필요하지 않음

  • 성공 - 수정 필요

  • 문제가 있는 변환

  • 실패

  • 적격하지 않음

EligibleForConversion과 ConversionStatus 간의 관계

EligibleForConversion ConversionStatus
성공 - 수정 필요 없음, 성공 - 수정 필요, 문제가 있는 변환
아니요 실패, 적격하지 않음
아니요 - 드라이버 필요 적격하지 않음

FixType에 허용되는 값

허용되는 값 정의
기능* MSIX 애플리케이션이 작동하려면 필요한 기능(예: allowElevation, uiAccess 등)이 필요합니다. 변환 중에 AppManifest 또는 MSIX 패키징 도구의 기능 페이지를 통해 추가됩니다. 자세한 내용은 여기를 참조하세요.
종속성 MSIX 애플리케이션이 작동하려면 필요한 종속성(예: C++ 2008 재배포 가능 x86)입니다. OS 환경에서 외부에서 다운로드할 수 있습니다.
InstallationPath 기본 폴더 외부에 데이터를 설치하는 경우 exe/msi 설치 관리자 위치를 사용자 지정하는 데 사용됩니다(프로그램 파일). 변환 중에 MSIX 패키징 도구의 "패키지 정보" 페이지에 경로를 추가해야 합니다. 자세한 내용은 여기를 참조하세요.
사용자 지정 MSIX 애플리케이션을 수정하기 위해 사용자가 수동으로 수행해야 하는 수정 사항입니다. 예: 앱 매니페스트에서 애플리케이션 ID 시퀀스 변경
Psf* 패키지 지원 프레임워크 수정(예: FileRedirectionFixup)을 추가하여 MSIX 애플리케이션을 수정합니다. 사용자는 config.json을 만들고 변환하는 동안 패키지에 config.json 및 기타 필요한 dll을 추가해야 합니다. 자세한 내용은 여기를 참조하세요. 가속기의 작성자는 PSFConfig 필드에 config.json에 해당하는 yaml을 제공해야 합니다.
Services MSIX 애플리케이션이 작동하려면 포함/제외해야 하는 서비스입니다. 변환하는 동안 MSIX 패키징 도구의 서비스 보고서에서 지정해야 합니다. 자세한 내용은 여기를 참조하세요.
EntryPoint EntryPoint와 관련된 문제를 해결하려면(예: ShortcutNotCaptured) 자세한 내용은 여기를 참조하세요.
InstalledLocationVirtualization* 앱의 설치 디렉터리에 대한 모든 쓰기를 앱 데이터의 위치로 리디렉션하는 확장입니다. 자세한 내용은 여기여기를 참조하세요. ModifiedItems, DeletedItems 및 AddedItems의 기본값은 각각 유지, 재설정 및 유지됩니다.
LoaderSearchPathOverride* 앱 개발자가 앱 패키지 루트 경로를 기준으로 앱 패키지의 경로를 선언하여 앱 프로세스의 로더 검색 경로에 포함할 수 있는 확장입니다. 액셀러레이터 작성자는 포함할 경로 목록을 제공해야 합니다. 자세한 내용은 여기를 참조하세요.

참고 항목

위에 별표(*)로 표시된 허용되는 FixType은 MSIX 패키징 도구에서 자동으로 지원됩니다.