카테고리

전체 (1262)
PC 게임 (1230)
오락실 게임 (13)
기타 (19)

최근에 달린 댓글


PC 게임/스팀2014. 3. 14. 23:08

스팀에서 게임을 다운로드받고 실행하면 스팀은 먼저 구성요소를 설치한 후 게임을 실행합니다.
그런데 어떤 게임은 실행할 때마다 구성요소를 다시 설치해서 UAC 창을 보게 되는
불편함이 있는데 이런 현상을 바로잡아 보겠습니다.

원인

게임을 처음 실행할 때 스팀이 구성요소 설치를 마치면 설치 성공 여부를 레지스트리에 저장합니다.
이곳에 값이 제대로 저장되지 않은 구성요소는 매번 실행할 때마다 설치하게 되므로
사용자가 직접 값을 작성해 넣으면 됩니다.

작업 방법

스팀이 구성요소를 설치할지 말지를 검사하는 값이 무엇인지를 알아낸 후
그 값이 레지스트리에 없으면 써 넣습니다.
이 글에서는 디스아너드를 예로 듭니다.

1. 레지스트리 에디터 열기

먼저 정상적으로 레지스트리에 저장된 값을 보기 위해 디스아너드의 키(폴더)로 찾아갑니다.
이곳에 디스아너드의 구성요소 설치 성공 여부가 저장되어 있고
게임마다 각각의 장소가 따로 있습니다.

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Valve\Steam\Apps\<게임번호>
게임마다 다른 주소는 Apps까지는 같으며 그 뒤에 게임 번호가 붙습니다.

게임 번호는 스팀 상점 주소의 뒷부분에서 확인할 수 있습니다.

2. 스팀이 찾는 구성요소 이름 알아보기
디스아너드를 실행하면 스팀은 구성요소 설치 여부를 레지스트리에서 읽습니다.
무엇을 읽는지 알면 사용자가 작성할 수도 있습니다.
레지스트리 모니터링이 되는 프로그램이 필요한데 저는 Process Monitor를 사용하겠습니다.
<Process Monitor 다운로드>

이 프로그램을 이용해서 스팀에서 읽는 레지스트리를 엿보도록 하겠습니다.

이 프로그램은 윈도우에서 오가는 수많은 메시지들을 보여주기 때문에 원하는 것만 추려내도록 필터를 설정할 겁니다.
실행하면 Process Monitor Filter 창이 뜰텐데 나오지 않는다면 1을 클릭해서 엽니다.

Pathcontains를 선택하고

모니터링할 레지스트리 주소인 HKLM\Software\Wow6432Node\Valve\Steam\Apps\205100를 입력합니다.

Add를 눌러 추가하고 OK를 눌러 창을 닫습니다.

돋보기 모양이 그림처럼 모니터링하는 상태인지 확인합니다.


스팀에서 디스아너드를 실행 후 종료하면 스팀이 액세스한 레지스트리 주소가 기록돼 있습니다.

directx, vcredist(Microsoft Visual C++ 재배포 패키지), vcredist64, physxredist(PhysX)가

구성요소를 설치하기 전에 검사하는 이름입니다.

3. 새 값 작성

모니터링된 이름 중 physxredist가 레지스트리에 없기 때문에 게임 실행 때마다
PhysX를 설치했던 것이므로 physxredist를 수동으로 작성해야 합니다.

physxredist 이름의 새 값을 DWORD로 만듭니다.

이름을 더블클릭 후 데이터에 1을 넣고 확인을 클릭합니다.
디스아너드를 실행하면 더 이상 PhysX를 설치하지 않습니다.

참고로 게임마다 구성요소를 지칭하는 이름이 다르기 때문에

한 게임에서 모니터링한 이름이 모든 게임에 적용되지 않습니다.


Posted by Passing