@echo off
setlocal EnableExtensions EnableDelayedExpansion

REM ===== スクリプトの場所を作業ディレクトリに固定 =====
pushd "%~dp0"

REM ===== 管理者権限チェック & UAC 昇格 =====
net session >nul 2>&1
if %errorlevel% neq 0 (
    REM [情報] 管理者権限がありません。UAC で昇格を要求します...
    powershell -Command "Start-Process -FilePath '%~f0' -Verb RunAs"
    exit /b
)

REM [情報] 管理者権限で実行中です。

set "NEED_REBOOT_OVERALL=0"

echo インストールを開始しました。
REM ============================================================
REM ===============  インストール 1: Driver  ====================
REM ============================================================

pnputil.exe -a "%CD%\Ext\PowerMgrExtension.inf" /install >nul 2>&1
set "RC=%ERRORLEVEL%"

if "!RC!"=="0" (
    REM [成功] PowerMgrExtension のインストールが完了しました。
) else if "!RC!"=="259" (
    REM [成功] PowerMgrExtension はインストールされています。
    set "NEED_REBOOT_OVERALL=1"
) else if "!RC!"=="3010" (
    REM [成功] PowerMgrExtension のインストールが完了しましたが、再起動が必要です。
    set "NEED_REBOOT_OVERALL=1"
) else (
    REM [エラー] PowerMgrExtension のインストールに失敗しました。コード=!ARC!  処理を中止します。
    goto :FAIL
)

pnputil.exe -a "%CD%\Comp\PowerMgr.inf" /install >nul 2>&1
set "RC=%ERRORLEVEL%"
 
if "!RC!"=="0" (
    REM [成功] PowerMgr のインストールが完了しました。
) else if "!RC!"=="259" (
    REM [成功] PowerMgr はインストールされています。
    set "NEED_REBOOT_OVERALL=1"
) else if "!RC!"=="3010" (
    REM [成功] PowerMgr のインストールが完了しましたが、再起動が必要です。
    set "NEED_REBOOT_OVERALL=1"
) else (
    REM [エラー] PowerMgr のインストールに失敗しました。コード=!ARC!  処理を中止します。
    goto :FAIL
)

:SUCCESS
REM.
REM ===========================================================
REM [完了] すべてのインストールが正常に完了しました。
echo インストールに成功しました。
if not "!NEED_REBOOT_OVERALL!"=="0" (
    REM [注意] 変更を有効にするため、システムの再起動を推奨します。
)

goto :END
 
:FAIL
REM.
REM ===========================================================
REM [失敗] インストール処理はエラーにより中断されました。
REM ===========================================================
echo インストールに失敗しました。
pause
exit /b 1
 
:END
popd
endlocal
pause
exit /b 0