Trochę odkopię, bo tytuł wątku na tyle luźny, że chyba mogę.

Miałem kiedyś problem z uruchomieniem G2 na
Windows 7 (32 bit) i udało mi się z nim poradzić. Jak się okazało sprawa jest dość typowa i łatwo znaleźć rozwiązanie, tylko trzeba wiedzieć, czego szukać. Dlatego krótko opiszę, może komuś się przyda.
Tak więc pewnego dnia Gothic po prostu sam z siebie przestał się uruchamiać. Klikam dwa razy, ikona kursora się chwilę kręci i... nic. Reinstall nie pomaga, gra nie chce działać.
Rzut okiem na menadżer zadań ([ctrl]+[shift]+[esc]) pozwala mi stwierdzić, że proces gry działa, ale wykazuje podejrzanie niskie wykorzystanie zasobów. Dodatkowo uruchomiony zostaje nowy proces rundll32.exe.
Metodą prób i błędów udało mi się odkryć, że uruchamiając i zabijając procesy w odpowiedniej kolejności, mogę skłonić grę do działania. Należało tylko:
- Uruchomić grę
- Zabić proces Gothic2.exe
- Uruchomić grę ponownie
- Zabić proces rundll32.exe
Jako że nie było to zbyt wygodne... napisałem sobie dość prymitywny mechanizm, który robił to za mnie.

Składał się z zestawu plików:
Pliki
Set oWS = WScript.CreateObject("WScript.Shell")
oWS.Run "startG2.bat"
WScript.Sleep 500
oWS.Run "resetG2.bat"
WScript.Sleep 500
oWS.Run "killRundll32.bat"
Set oWS = WScript.CreateObject("WScript.Shell")
oWS.Run "killG2.bat"
WScript.Sleep 500
oWS.Run "killRundll32.bat"
Partycja:\Sciezka_do_Gothic2\System\Gothic2.exe
pause
taskkill /IM Gothic2.exe /F
pause
taskkill /IM Gothic2.exe /F
Partycja:\Sciezka_do_Gothic2\System\Gothic2.exe
pause
taskkill /IM rundll32.exe /F
pause
Zastosowanie tych (jakże zaawansowanych) skryptów pozwoliło mi znów uruchamiać grę dwuklikiem, jak przystało na cywilizowanego użytkownika Windowsa.
I sprawa być może na tym by się zakończyła, gdyby nie fakt, że problem występował również w innych grach, np. Etherlords II (polecam zagrać!). Dlatego zagłębiłem się w czeluści internetu, gdzie trafiłem między innymi na następujące wpisy:
W skrócie: Problem dotyczy usługi Windows Games Explorer (GameUX). Można go w prosty sposób obejść, otwierając edytor rejestru (najszybciej przez panel uruchamiania [⊞ Win] + [R], komendą
regedit) i modyfikując wpis:
HKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\GameUX\ServiceLocation
przez zmianę wartości
Games na pustą lub
127.0.0.1 (jest to adres IP pętli zwrotnej, czyli "do siebie").
To powinno wystarczyć, aby po restarcie systemu gry uruchamiały się normalnie.
Teoretycznie nie ma tu za bardzo co zepsuć, ale przed modyfikowaniem wpisów rejestru, polecam na wszelki wypadek zrobić sobie kopię bezpieczeństwa (Plik->Eksportuj).
Dla zainteresowanych przytoczę jeszcze rozwiązanie, które
podobno jest lepsze, bo ma likwidować problem u źródła:
https://msfn.org/board/topic/179464-old-games-failing-to-launch-and-how-to-fix-it/?tab=comments#comment-1167279Czemu napisałem, że
podobno? A no temu, że nie sprawdziłem go osobiście. Polega na dodaniu do rejestru, konkretniej pod:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags]
listy wpisów, które wyglądają mniej więcej tak:
"{c0e71031-3bf9-42ad-a0e4-6c1d0fa5a315}"=dword:00000077
A ponieważ nie mam dostatecznej wiedzy, żeby zweryfikować ich działanie, nie mam ochoty w ciemno ich u siebie wdrażać, ani tym bardziej komuś polecać bez przetestowania. Niemniej forum MSFN wskazuje na nie, jako rozwiązanie problemu.