@rem ----- Script Information -----
@rem ScriptType    : Console
@rem DestDirectory : temp
@rem Icon          : default
@rem Author        : 김동민
@rem Date          : 2013/04/03
@rem Ref #1        : http://support.microsoft.com/kb/2716529/en-us
@rem Ref #2        : http://blog.naver.com/PostView.nhn?blogId=saltynut&logNo=120186314893&redirect=Dlog&widgetTypeCall=true
@rem Ref #3        : http://social.msdn.microsoft.com/Forums/ko-KR/vistako/thread/a28f4849-b4a0-4d34-8bbf-4f686dbe26cc/
@rem Ref #4        : http://www.sysnet.pe.kr/2/0/686
@rem ------------------------------
@echo off
setlocal
title Internet Explorer :: Fix 64bit only executable

:main
@echo off
cls
echo =================================================================
echo == 64 Bit Windows 7/8 - Internet Explorer ActiveX 오류수정     ==
echo =================================================================
echo.
echo 이 스크립트는 64비트 기반의 윈도우즈 운영체제에서
echo 인터넷 익스플로러(이하 IE) 10 버전에서의
echo ActiveX 설치 및 실행 문제를 해결하기 위하여 작성되었습니다.
echo.
echo 64비트 윈도우즈에서는 IE가 32비트, 64비트 모드가 각각 제공되지만
echo IE 10 버전의 경우 환경에 따라 메인 프레임과 탭 프로세스가
echo 둘 다 64비트로 구동되기 때문에 결과적으로 32비트 기준으로
echo 디자인 된 ActiveX 컨트롤러가 정상적으로 설치/실행되지 않는
echo 문제가 발생하며 이 스크립트를 통하여 해당 문제를 해결합니다.
echo.
echo.
choice /C:YN /M "스크립트를 실행할까요"
if errorlevel 2 goto exit
if errorlevel 1 goto exec


:exec
@echo off
cls

reg query "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v /f TabProcGrowth
if not errorlevel 1 (
    reg delete "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main" /v TabProcGrowth /f
) else (
    echo HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\TabProcGrowth 값이 존재하지 않아 건너뜁니다.
)

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main" /v /f TabProcGrowth
if not errorlevel 1 (
    reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main" /v TabProcGrowth /f
) else (
    echo HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\TabProcGrowth 값이 존재하지 않아 건너뜁니다.
)

echo.
echo 작업을 완료했습니다.
echo.
echo.
echo.
echo ※ 참고 ※
echo.
echo 두 개의 작업 모두 건너뛴 경우
echo 이 스크립트로는 더이상 해결할 수 있는 문제가 없다는 것을 의미합니다.
echo.
echo 그 외에 정상적으로 처리가 되었음에도
echo IE 에서의 오류증상이 해결되지 않는다면
echo 다른 방법을 통하여 문제를 해결해야 합니다.
echo.
pause>nul
exit


:exit
@echo off
cls
echo 스크립트를 종료합니다.
pause>nul
exit