::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::: 모든 *.appx;*.appxbundle;*.msix;*.msixbundle용 범용 설치 프로그램 :::::::::::::::::::::::::::::::::
:::::::::::::::::: *.appx;*.appxbundle;*.msix;*.msixbundle 파일은 동일한 폴더 또는 하위 폴더에 있어도 됩니다. ::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::: flibustier 2019-2021 ⓒ ::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@echo off & title %~n0
cd /d "%~dp0" & color 08 & net session >nul
if %errorlevel% neq 0 (mshta "javascript: var shell = new ActiveXObject('shell.application'); shell.ShellExecute('%~nx0', '', '', 'runas', 1);close();") & exit
for /f "tokens=6 delims=[]. " %%i in ('ver') do set build=%%i
if "%PROCESSOR_ARCHITECTURE%"=="x86" (set arch=x86) else (set arch=x64)
call :install NET.Native %arch% appx
call :install VCLibs %arch% appx
call :install Xaml %arch% appx
call :install Extension %arch% appx
call :install Extension neutral appx
call :install LanguageExperiencePack neutral appx
call :install _ neutral appxbundle
if %build% GEQ 22000 (call :install _ neutral msixbundle)
pause
exit
:install
set "name=%~1"
set "arch=%~2"
set  "ext=%~3"
for /f "tokens=1* delims=" %%i in ('dir /b /s "*%name%*%arch%*.%ext%" 2^>nul') do (echo.
powershell write-host 'install %name% %arch% %ext%:' -backgroundcolor darkred -foregroundcolor white 
if "%ext%"=="appx" (powershell write-host '%%~ni%%~xi' -foregroundcolor blue & powershell add-appxpackage -path '%%i' -erroraction silentlycontinue)
if "%ext%"=="appxbundle" (powershell write-host '%%~ni%%~xi' -foregroundcolor green & powershell add-appxprovisionedpackage -online -packagepath '%%i' -skiplicense)
if "%ext%"=="msixbundle" (powershell write-host '%%~ni%%~xi' -foregroundcolor green & powershell add-appxprovisionedpackage -online -packagepath '%%i' -skiplicense))
exit /b