반응형

🚀 Windows Setup Launcher v2.0 업데이트 리포트

이번 업데이트의 핵심은 **"스마트한 자동화와 레거시 환경의 완벽한 분리"**입니다. 윈도우 11 설치의 가장 큰 벽인 MS 계정 강제 로그인을 우회하면서도, 이전 OS와의 호환성을 놓치지 않았습니다.

 

Setup.exe /unattend:X:\unattend.xml

 

https://noways.tistory.com/2300

 

Windows Setup Launcher v3.0 - 오류 수정

Windows 11 24H2 이후 버전의 설치 방식 변경에 따른 오류 원인과 이를 해결하기 위한 함수 개선 1. 오류 발생 원인 분석Windows 11 24H2(및 그 이후 빌드)부터는 기존의 단일 setup.exe 방식에서 설치 구조가

noways.tistory.com

 

Windows Setup Launcher v2.0.zip
0.77MB

 

 

 

1. 스마트 /unattend 옵션 제어 (자동 비활성화)

모든 윈도우 버전에 동일한 옵션을 적용하던 방식에서 벗어나, 선택된 OS에 따라 UI가 동적으로 반응합니다.

  • 대상: Windows 7, Windows 8.1
  • 변경점: 해당 버전 선택 시 'MS 계정 건너뛰기' 체크박스가 자동으로 해제되며 비활성화(Gray-out) 처리됩니다.
  • 효과: 레거시 OS에서 불필요한 옵션 적용으로 인한 설치 오류를 원천 차단합니다.

2. 하이브리드 unattend.xml 경로 로직

설치 파일(unattend.xml)을 찾는 방식이 더욱 견고해졌습니다. 유연성을 극대화하기 위해 2단계 우선순위를 적용합니다.

  • 1순위 (사용자 정의): USB 드라이브 루트에 있는 파일을 우선 탐색합니다. (사용자 커스텀 가능)
  • 2순위 (시스템 내장): USB에 파일이 없을 경우, 프로그램에 내장된 파일을 시스템 임시 경로(\Windows\Temp)에 즉시 해제하여 사용합니다.
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- 키보드 레이아웃과 같은 입력 디바이스에 대한 입력 언어 및 메서드를 지정합니다. -->
            <!-- Specify input languages and methods for input devices such as the keyboard layout -->
            <InputLocale>0412: {A028AE76-01B1-46C2-99C4-ACD9858AE02F} {B5FE1F02-D5F2-4445-9C03-C568F23C99A1}</InputLocale>
            <!-- Windows 설치의 날짜, 시간, 통화 및 숫자 서식 지정에 사용되는 사용자별 설정을 지정합니다. -->
            <!-- Specify user-specific settings used for date, time, currency, and number formatting in Windows installation -->
            <UserLocale>ko-KR</UserLocale>
            <!-- 메뉴, 대화 상자 및 도움말 파일과 같은 UI(사용자 인터페이스) 항목을 표시하기 위해 사용되는 기본 시스템 언어를 지정합니다. -->
            <!-- Specify the default system language used to display UI elements such as menus, dialogs, and help files -->
            <UILanguage>ko-KR</UILanguage>
            <!-- 유니코드가 아닌 프로그램에 사용할 기본 언어를 지정합니다. -->
            <!-- Specify the default language for non-Unicode programs -->
            <SystemLocale>ko-KR</SystemLocale>
        </component>

 

언어 및 키보드 레이아웃 설정까지 포함할 경우, 이후 계정 생성 단계까지 자동으로 진행됩니다. 다만, 런처에 내장된 unattend.xml 파일은 다국어 공용 환경을 고려하여 해당 설정이 기본적으로 제외되어 있습니다.

 

 

[ 한국어 전용 - unattend.xml ]

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <servicing></servicing>
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
            </RunSynchronous>
            <!-- 사용자 설정을 지정합니다. -->
            <UserData>
                <ProductKey>
                <!-- 빈칸은 제품 키 없이 통과함 -->
                <Key></Key>
                </ProductKey>
                <!-- Microsoft 소프트웨어 사용 조건에 자동으로 동의할지 여부를 지정합니다. -->
                <AcceptEula>true</AcceptEula>
            </UserData>
            <!-- Windows PE(Windows 사전 설치 환경)에 대해 Windows 방화벽을 사용할 수 있는지 여부를 지정합니다. 이 설정은 Windows 설치의 Windows 방화벽 설정에는 적용되지 않습니다. -->
            <EnableFirewall>true</EnableFirewall>
            <!-- 네트워크 연결을 사용할지 여부를 지정합니다. 이 설정은 Windows PE(Windows 사전 설치 환경)에만 적용됩니다. -->
            <EnableNetwork>false</EnableNetwork>
        </component>
    </settings>
    <settings pass="offlineServicing">
        <component name="Microsoft-Windows-WiFiNetworkManager" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- 사용하도록 설정된 경우 자동으로 공개 네트워크에 연결하는 Wi-Fi 센스 OOBE 확인란이 선택됩니다. -->
            <DefaultAutoConnectOpenState>0</DefaultAutoConnectOpenState>
            <!-- 디바이스 OOBE 중에 연락처와 Wi-Fi 네트워크 액세스를 교환할 수 있도록 허용에 대한 확인란의 선택을 취소합니다. -->
            <DefaultAutoConnectSharedState>0</DefaultAutoConnectSharedState>
            <!-- Wi-Fi 센스를 사용하거나 사용하지 않습니다. Wi-Fi 센스 기능에는 Wi-Fi 핫스팟 및 자격 증명 공유에 대한 자동 연결이 포함됩니다. -->
            <WiFiSenseAllowed>0</WiFiSenseAllowed>
        </component>
        <component name="Security-Malware-Windows-Defender" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- Microsoft Defender를 권장 기본 설정을 사용하여 원격으로 관리할 수 있도록 구성할지 여부를 지정합니다. -->
            <EnableRemoteManagedDefaults>false</EnableRemoteManagedDefaults>
        </component>
        <component name="Microsoft-Windows-Embedded-KeyboardFilterService" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="NonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- 브라우저 전달 키가 차단되지 않습니다. 이것은 기본값입니다. -->
            <BrowserForward>Allowed</BrowserForward>
            <!-- Microsoft Defender를 권장 기본 설정을 사용하여 원격으로 관리할 수 있도록 구성할지 여부를 지정합니다. -->
            <ForceOffAccessibility>true</ForceOffAccessibility>
        </component>
    </settings>
    <settings pass="generalize">
        <component name="Microsoft-Windows-WwanUI" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- OOBE에서 모바일 광대역 디바이스 또는 네트워크를 숨깁니다. -->
            <NotInOOBE>true</NotInOOBE>
        </component>
        <component name="Microsoft-Windows-TapiSetup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- 구성된 전화 통신 위치를 다시 작성하도록 지정합니다. -->
            <TapiConfigured>0</TapiConfigured>
        </component>
    </settings>
    <settings pass="specialize">
        <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
                <!-- 윈도우11 네트워크 인터넷 연결 없이 설치하기(OOBE\BYPASSNRO, 윈도우11에만 적용) -->
                <!-- Install Windows 11 without Internet connection (OOBE\BYPASSNRO, applies to Windows 11 only) -->
                <RunSynchronousCommand wcm:action="add">
                    <Order>1</Order>
                    <Path>cmd /c for /f "tokens=3 delims=.]" %a in ('ver') do if %a geq 21996 (reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f)</Path>
                </RunSynchronousCommand>
                <!-- Temporarily disable all network adapters to prevent updates during Windows OOBE -->
                <RunSynchronousCommand wcm:action="add">          
                    <Order>2</Order>
                    <Path>powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Get-NetAdapter | Disable-NetAdapter -Confirm:$false"</Path>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>  
        <component name="Microsoft-Windows-Printing-Spooler-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- 시스템이 부팅될 때 스풀러 자동 로그가 기본적으로 시작되지 않습니다. -->
            <Start>0</Start>
        </component>
        <component name="Microsoft-Windows-ErrorReportingCore" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- Windows 오류 보고 기능을 비활성화합니다. -->
            <DisableWER>1</DisableWER>
        </component>
        <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- Windows에서 자동으로 정품 인증을 시도하지 않도록 지정합니다. -->
            <SkipAutoActivation>true</SkipAutoActivation>
        </component>
        <component name="Microsoft-Windows-SQMApi" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- OOBE 중에 Windows CEIP가 선택되도록 지정합니다. 사용자가 설치하는 동안 OOBE를 건너뛰기로 결정하면 CEIP가 옵트아웃됩니다. 사용자는 더 이상 알림을 받지 못합니다. -->
            <CEIPEnabled>0</CEIPEnabled>
        </component>
        <component name="Microsoft-Windows-TCPIP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- IPv4 및 IPv6 경로 캐시가 ICMP 리디렉션 메시지에 대한 응답으로 업데이트되지 않도록 지정합니다. -->
            <IcmpRedirectsEnabled>false</IcmpRedirectsEnabled>
        </component>
    </settings>
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- 키보드 레이아웃과 같은 입력 디바이스에 대한 입력 언어 및 메서드를 지정합니다. -->
            <!-- Specify input languages and methods for input devices such as the keyboard layout -->
            <InputLocale>0412: {A028AE76-01B1-46C2-99C4-ACD9858AE02F} {B5FE1F02-D5F2-4445-9C03-C568F23C99A1}</InputLocale>
            <!-- Windows 설치의 날짜, 시간, 통화 및 숫자 서식 지정에 사용되는 사용자별 설정을 지정합니다. -->
            <!-- Specify user-specific settings used for date, time, currency, and number formatting in Windows installation -->
            <UserLocale>ko-KR</UserLocale>
            <!-- 메뉴, 대화 상자 및 도움말 파일과 같은 UI(사용자 인터페이스) 항목을 표시하기 위해 사용되는 기본 시스템 언어를 지정합니다. -->
            <!-- Specify the default system language used to display UI elements such as menus, dialogs, and help files -->
            <UILanguage>ko-KR</UILanguage>
            <!-- 유니코드가 아닌 프로그램에 사용할 기본 언어를 지정합니다. -->
            <!-- Specify the default language for non-Unicode programs -->
            <SystemLocale>ko-KR</SystemLocale>
        </component>
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <HideLocalAccountScreen>true</HideLocalAccountScreen>
                <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                <ProtectYourPC>3</ProtectYourPC>
                <SkipUserOOBE>true</SkipUserOOBE>
                <UnattendEnableRetailDemo>false</UnattendEnableRetailDemo>
            </OOBE>
            <FirstLogonCommands>
                <!-- OOBE 완료 후 네트워크 어댑터를 활성화합니다. -->
                <!-- Enable network adapters after OOBE completion -->
                <SynchronousCommand wcm:action="add">
                    <Order>1</Order>
                    <CommandLine>powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Get-NetAdapter | Enable-NetAdapter -Confirm:$false"</CommandLine>
                </SynchronousCommand>
            </FirstLogonCommands>
        </component>
        <component name="Microsoft-Windows-Sidebar" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <SidebarVisible>false</SidebarVisible>
            <SidebarOnByDefault>false</SidebarOnByDefault>
        </component>
    </settings>
</unattend>

 

[ English / Multilingual - unattend.xml ] 

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <servicing></servicing>
    <settings pass="windowsPE">
        <component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
            </RunSynchronous>
            <!-- Specifies user configuration settings -->
            <UserData>
                <ProductKey>
                <!-- Leave blank to proceed without entering a product key -->
                    <Key></Key>
                </ProductKey>
                <!-- Specifies whether to automatically accept Microsoft Software License Terms (EULA) -->
                <AcceptEula>true</AcceptEula>
            </UserData>
            <!-- Specifies whether Windows Firewall can be used in Windows PE (preinstallation environment). This setting does not apply to Windows Firewall settings in the installed OS. -->
            <EnableFirewall>true</EnableFirewall>
            <!-- Specifies whether to enable network connections. This setting applies only to Windows PE. -->
            <EnableNetwork>false</EnableNetwork>
        </component>
    </settings>
    <settings pass="offlineServicing">
        <component name="Microsoft-Windows-WiFiNetworkManager" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- If enabled, the Wi-Fi Sense checkbox for automatically connecting to open networks is selected during OOBE. -->
            <DefaultAutoConnectOpenState>0</DefaultAutoConnectOpenState>
            <!-- Unchecks the option to allow sharing of contacts and Wi-Fi network access during device OOBE. -->
            <DefaultAutoConnectSharedState>0</DefaultAutoConnectSharedState>
            <!-- Enables or disables Wi-Fi Sense features including hotspot auto-connect and credential sharing. -->
            <WiFiSenseAllowed>0</WiFiSenseAllowed>
        </component>
        <component name="Security-Malware-Windows-Defender" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- Specifies whether Microsoft Defender can be remotely managed using recommended default settings. -->
            <EnableRemoteManagedDefaults>false</EnableRemoteManagedDefaults>
        </component>
        <component name="Microsoft-Windows-Embedded-KeyboardFilterService" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="NonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- Browser forward key is not blocked (default behavior). -->
            <BrowserForward>Allowed</BrowserForward>
            <!-- Disables accessibility key combinations (e.g., Sticky Keys). -->
            <ForceOffAccessibility>true</ForceOffAccessibility>
        </component>
    </settings>
    <settings pass="generalize">
        <component name="Microsoft-Windows-WwanUI" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- Hides mobile broadband devices and networks during OOBE. -->
            <NotInOOBE>true</NotInOOBE>
        </component>
        <component name="Microsoft-Windows-TapiSetup" processorArchitecture="wow64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- Specifies whether to rewrite configured telephony locations. -->
            <TapiConfigured>0</TapiConfigured>
        </component>
    </settings>
    <settings pass="specialize">
        <component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <RunSynchronous>
                <!-- Install Windows 11 without Internet connection (OOBE\BYPASSNRO, applies to Windows 11 only) -->
                <RunSynchronousCommand wcm:action="add">
                    <Order>1</Order>
                    <Path>cmd /c for /f "tokens=3 delims=.]" %a in ('ver') do if %a geq 21996 (reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f)</Path>
                </RunSynchronousCommand>
                <!-- Temporarily disable all network adapters to prevent updates during Windows OOBE -->
                <RunSynchronousCommand wcm:action="add">          
                    <Order>2</Order>
                    <Path>powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Get-NetAdapter | Disable-NetAdapter -Confirm:$false"</Path>
                </RunSynchronousCommand>
            </RunSynchronous>
        </component>  
        <component name="Microsoft-Windows-Printing-Spooler-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- Prevents the spooler auto-log from starting at system boot. -->
            <Start>0</Start>
        </component>
        <component name="Microsoft-Windows-ErrorReportingCore" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- Disables Windows Error Reporting. -->
            <DisableWER>1</DisableWER>
        </component>
        <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="wow64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- Prevents Windows from attempting automatic activation. -->
            <SkipAutoActivation>true</SkipAutoActivation>
        </component>
        <component name="Microsoft-Windows-SQMApi" processorArchitecture="wow64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- Controls CEIP (Customer Experience Improvement Program) opt-in during OOBE. -->
            <CEIPEnabled>0</CEIPEnabled>
        </component>
        <component name="Microsoft-Windows-TCPIP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <!-- Prevents route cache updates via ICMP redirect messages. -->
            <IcmpRedirectsEnabled>false</IcmpRedirectsEnabled>
        </component>
    </settings>
    <settings pass="oobeSystem">
        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <OOBE>
                <HideEULAPage>true</HideEULAPage>
                <HideLocalAccountScreen>true</HideLocalAccountScreen>
                <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                <ProtectYourPC>3</ProtectYourPC>
                <SkipUserOOBE>true</SkipUserOOBE>
                <UnattendEnableRetailDemo>false</UnattendEnableRetailDemo>
            </OOBE>
            <FirstLogonCommands>
                <!-- Enable network adapters after OOBE completion -->
                <SynchronousCommand wcm:action="add">
                    <Order>1</Order>
                    <CommandLine>powershell.exe -NoProfile -WindowStyle Hidden -ExecutionPolicy Bypass -Command "Get-NetAdapter | Enable-NetAdapter -Confirm:$false"</CommandLine>
                </SynchronousCommand>
            </FirstLogonCommands>
        </component>
        <component name="Microsoft-Windows-Sidebar" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
            <SidebarVisible>false</SidebarVisible>
            <SidebarOnByDefault>false</SidebarOnByDefault>
        </component>
    </settings>
</unattend>

 

3. 체크박스 상태 기억 (User Preference)

사용자의 선택을 존중합니다. 한 번 설정한 '로컬 계정 설치' 여부를 INI 설정 파일에 저장합니다.

  • 기능: 프로그램을 재시작하거나 OS 버전을 변경했다가 다시 돌아와도, 이전에 체크했던 상태를 그대로 복구합니다.
  • 상세: 단, Win7/8.1을 선택하여 비활성화된 동안에는 잠시 해제되지만, 다시 Win10/11을 선택하면 원래의 체크 상태로 돌아옵니다.

4. 직관적인 다국어 문구 개선

사용자가 옵션의 기능을 한눈에 이해할 수 있도록 문구를 다듬었습니다.

  • 기존: "로컬계정으로 설치 /unattend 옵션 적용"
  • 변경: "MS 계정 건너뛰기 및 로컬 계정으로 설치"
  • 지원: 한국어(KO), 영어(EN), 러시아어(RU), 중국어(CN), 일본어(JP) 완벽 지원 (오타 수정 및 자연스러운 번역 적용)


Developer's Note: > 이번 v2.0은 WinPE 환경에서의 가독성과 조작 편의성에 집중했습니다. 특히 X: 드라이브나 고정 경로에 의존하지 않고 시스템 드라이브의 공용 Temp 폴더를 활용하여 어떤 환경에서도 FileInstall이 안정적으로 동작하도록 설계했습니다.

 

 

 

■ 동영상 제목 클릭 후 전체화면(1080P)시청 가능합니다.

 

정보가 도움이 되었다면 아래 링크로 커피를 후원 해주세요. ^^

donaricano-btn

반응형

+ Recent posts