воскресенье, 29 мая 2011 г.

Как победить App Crash в Games for Windows Marketplace

  На этой неделе мир увидел продолжение культовой серии раллийных гонок от Codemaster - Dirt 3.  Как и в прошлой версии, для сохранений и сетевых баталий используется сервис Xlive от Microsoft.  После установки игры и попытки её запуска я увидел окно с ошибкой, в подробностях было видно, что в ошибке виноват XLive Service.  Попробовал запустить Games for Windows Marketplace, опять получил app crash. Гугление показало, что это распространённая ошибка, однако какого-нибудь конкретного решения нет. Ошибку можно получить из-за отсутствия необходимой версии .Net Framework или даже из-за региональных настроек. Мне ничего не помогло, переустановка в том числе. Решил посмотреть лог GFWL.
Лежит он по пути C:\Users\ИмяПользователя\AppData\Local\Microsoft\GFWLive\Logs. В нём увидел ошибку:
Failed to start. {Exception: {Type: System.EntryPointNotFoundException} {Message: Не удается найти точку входа "InitializeEx" в DLL "msidcrl40.dll".}
Google показал, что msidcrl40.dll принадлежит Windows Live In. Было принято решение переустановить Windows Live целиком. Для начала удаляем всё, что связанно с Windows Live через "установку и удаление программ", затем подчищаем файлы (Windows Live) в Program Files и Program Files\Common Files\Microsoft Shared (так же Program Files(x86) для x64). Так же можно подчистить реестр CCleaner. Перезагружаемся.
Качаем новый Windows Live (обязательно нужна online версия установщика). Устанавливаете необходимые вам продукты, если ничего не нужно, тогда установите, например, Windows Mail. Если установка прошла успешно, проверьте, запускается ли Games For Windows Marketplace, если всё отлично,  запускайте игрушку, дальше можно не читать :)
У меня же Windows Live не устанавливался, в конце выдавало ошибку на wllogin-amd64, а эта компонента как раз таки была и нужна. Не закрываем установщик. Идём по пути C:\Program Files (x86)\Common Files\Windows Live\.cache в папках с названиями а-ля 1baf294rwdf2 ищем wllogin-amd64.msi (кстати, может быть ошибка и с другой компонентой), нажимаем по пакету правой кнопкой, выбираем "Исправить", в итоге получаем ошибку, нет доступа к такой-то ветке реестра, ищем эту ветку в реестре по пути HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components

Нажимаем по ней правой кнопкой->Разрешения. Для вашего пользователя ставим полный доступ, нажимаем дополнительно, выбираем вашего пользователя, внизу ставим галку "Заменить все разрешения дочернего объекта на разрешения...", переходим на вкладку "Владелец", опять выбираем вашего пользователя, ставим галку "Заменить владельца подконтейнеров и объектов", жмём "ОК", может всплыть ошибка, это нормально. Пробуем опять установить(исправить) wllogin-amd64.msi (или другой необходимый компонент), могут быть ошибки и в других ветках реестра, исправляем их. После всех исправлений, когда компонента успешно установлена, пробуем установить Windows Live снова (нажимаем "Повторить", если не закрыли установщик), если получаем ошибки на других компонентах, исправляем их так же, как и wllogin. После 100% успешной установки запускаем Games For Windows Marketplace, должен запуститься, если нет, читайте лог и гуглите :)

При перепечатке материала ссылка на http://www.gizmonder.com обязательна.

4 комментария:

  1. У меня нету в папке Windows live этого файла !

    ОтветитьУдалить
  2. Дмитрий вы можете помочь решить проблему с appcrash,она не дает возможности играть в любой гоночный симулятор=((

    ОтветитьУдалить
  3. Мне помогло! Спасибо!

    ОтветитьУдалить