Вход

Просмотр полной версии : Перезагружается компьютер при попытке поставить новый СП


Tabakerka
29.09.2011, 12:57
Доброго времени суток, господа. У меня ТРС 2009, версия игры 37625, я длительное время сидел на этой версии, ибо ТРС 2010 у меня очень сильно тормозит. Надумал я обновить версию игры, путем скачивания Сервис Пака с официального сайта, скачал СП от 37625 до 40040. А вот теперь рассказываю проблему:
мои действия: скачанный новенький СП является файлом ехе.я его копирую в папку с директорией игры, естественно клацаю по нему 2 раза и вот предмет ошибки:
компьютер перезагружается :( И никаких действий кроме этого не происходит... Огромная просьба отнестись с пониманием и помочь в решении проблемы. Много искал по этому форуму, но ничего подобного не нашел, потому и создал эту тему. Большое спасибо за внимание.

EliteXP
07.10.2011, 12:29
> компьютер перезагружается
Я бы сказал вываливается в BSOD (синий экран) и т.к. установлена настройка по умолчанию в таких действиях перезагрузка, ты ее собствено и наблюдаешь. Причина сохраняется в файл в папке \windows\minidump но для его анализа нужно разбиратся с работой системы. Если проше - то какой то драйвер валит систему. Я очень сомневаюсь что обычное приложение типа Trainz использует в своей работе драйвер ядра (который и вызывает ошибку), поэтому причины три:
1 - твой драйвер файловой системы, или какой то софт который ты установил работающий с файловой системой
2 - какой то антивирусник, который хочет проанализировать файл, но не смог (по какой то прчине что вызвало проблемму)
3 - драйверная защита Trainz (если она есть в билде 2009 версии)

TRam_
07.10.2011, 12:30
Да нет... Это ошибка windows XP SP2. Надо ставить SP3, чтоб патчер нормально заработал.

Garikk
07.10.2011, 12:46
Причина сохраняется в файл в папке \windows\minidump но для его анализа нужно разбиратся с работой системы.

Анализ дампов BSOD, там сразу видно какая dll систему валит
http://rutracker.org/forum/viewtopic.php?t=1443570

TRam_
07.10.2011, 12:49
Поросто это заявлено аураном - на windows XP SP2 запуск игрового патчера вызовет гарантированный вылет. Нужна XP SP3, виста или семёрка.

EliteXP
07.10.2011, 12:54
> Да нет... Это ошибка windows XP SP2. Надо ставить SP3, чтоб патчер
> ормально заработал.

Что значит ошибка Windows XP SP2? Я же сказал что проблемма в моделе ядра который активизировался в момент запуска патча. Просто так обстоятельства слкладываются что вот этот модуль не может переварить такой файл, а по опутку патчинга своей 2010 версии, заметил что Auran выкладывает для патча диффы файлов, которые требуют очень внушительных ресурсов для патчинга, вот что то в системе и не справилось с этой задачей. А просто так от запука файла на исполнение система вылетать не должна, тут уже кото то ей помог :)

Добавлено через 4 минуты
> Поросто это заявлено аураном
М-да, тогда я могу только одно, программистам Аурана должно быть стыдно, т.к патчинг - это по сути замена файлов, с которым их патчер не сравляется. А вот откуда там взялась опрации котрые валят систему на простых файловых операциях - ума не приложу. По сути дела замена файлов должна была бы работать начиная с Windows NT 4.0.

alexcat
07.10.2011, 13:15
М-да, тогда я могу только одно, программистам Аурана должно быть стыдно, т.к патчинг - это по сути замена файлов, с которым их патчер не сравляется. А вот откуда там взялась опрации котрые валят систему на простых файловых операциях - ума не приложу. Ну так попробуйте провести простую файловую операцию по замене, скажем, ntdll.dll. ;) По сути дела замена файлов должна была бы работать начиная с Windows NT 4.0.А до этого файлы заменять нельзя было?

EliteXP
07.10.2011, 13:26
> Ну так попробуйте провести простую файловую операцию по замене,
> скажем, ntdll.dll

Без проблемм ( Есть такая функция MoveFileEx()) если файл открыт системой это совершенно не значит что нужно падать в BSOD, система просто скажет что нельзя сейчас и все! Но суть не в этом. Суть в том, что патчинг обычных (не системных файлов) и системых - не при каких обстоятельствах не должен привести к падению системы. Система просто не допустит этого. Другой вопрос в том, как нужно было постаратся программистам чтобы вывалить систему в BSOD при обычной замене файла???

> А до этого файлы заменять нельзя было?
В том то и дело что можно, я и хотел сказать что заявление о том, что патчинг должен работать правильно начиная с SP3 - для меня кажется откровенной халатностью разработчиков.

alexcat
07.10.2011, 13:34
...система просто скажет что нельзя сейчас и все!Ненене! Было заявлено, что замена файла - простая операция.
...заявление о том, что патчинг должен работать правильно начиная с SP3 - для меня кажется откровенной халатностью разработчиков.Однако это заявлено, и требовать, чтобы этот патч работал под SP2 - не айс. А подобных примеров - масса. Очень многие приложения (даже не патчи) не могут работать с определенными сервис-паками.

EliteXP
07.10.2011, 14:00
> Ненене! Было заявлено, что замена файла - простая операция.

Конечно простая - вызов CreateFile() ну или там MoveFile() ну ни как не должен валить систему в BSOD, если там какой то антивирус не поможет. Код котрый реализует сие уже давно отлажен и работает очень долгое времени, а колличество вызов функций работы с файлами в системе исчисляется миллионами. Я не могу придумать как можно свалить систему в синяк исполуя просто копирование или замену файлов, причем Задумайся, даже не системных файлов! Если это было так просто сделать - тысяки приложений валились бы в BSOD в попытке прочитать каки то данные с диска. Если в системе все работет праивльно и прогарммист особо не постарался, то скалить систему в BSOD на файловых операциях по средствам Win32API крайне тяжело, но разработчикам Аурана видимо это удалось :)

> Однако это заявлено, и требовать, чтобы этот патч работал под SP2 -
> не айс.

Думаю тут сыграла обычная лень.

> А подобных примеров - масса. Очень многие приложения (даже не
> патчи) не могут работать с определенными сервис-паками.

Такое могут заявлять приложения которые очень системно ориентированные и использующие для работы драйвера ядра. Я не думаю что для патчинга файлов Ауран использует что то экстраординарное и кернел мод зависимое. Единственное мое видиние проблеммы - это жутко не оптимальный DIFF менеджер которые отжирая всю память для распаковки и перераковки дергает за ниточки которые на SP2 ну никак дергать без последствий не удается. И дабы не замарачиватся и не тратить время на переписывание алгоритмов патчинга, Ауран просто заявляет о том что нужно бы обновить до SP3, в котором вылет уже не происходит. Ну не правильно это... Если что то валит систему, и они даже об этом знают, значит нужно сделать все чтобы такое паделние предотвратить, а не погалатся на то, что это кто то сделает за тебя!

alexcat
07.10.2011, 16:13
Конечно простая - вызов CreateFile() ну или там MoveFile() ну ни как не должен валить систему в BSOD...Не должен. Но и поставленная задача по замене файла выполнена не будет.

Задумайся, даже не системных файлов!А кто сказал, что не системных? А если игра устанавливает в систему какой-то драйвер, который загружается при старте системы, а патч должен его заменить, т.е. выгрузить из памяти, переписать на диске и загрузить вновь. А версия системы не та, что нужно, драйвер обращается не по тем адресам, вот и BSOD.

Такое могут заявлять приложения которые очень системно ориентированные и использующие для работы драйвера ядра.Paint.net - System Requirements:
Windows 7 (recommended), or Windows XP SP3, or Windows Vista SP1 (SP2 and Platform Update recommended).

Garikk
07.10.2011, 16:49
Paint.net - System Requirements:
Windows 7 (recommended), or Windows XP SP3, or Windows Vista SP1 (SP2 and Platform Update recommended).

Это требования 3.5 SP1 на котором Paint.net написан

Соответственно патчер может чтото подобное использовать, отсюда и требования

EliteXP
07.10.2011, 20:56
> Не должен. Но и поставленная задача по замене файла выполнена не
> будет.

Не понял, что ты хотел этим сказать. Цена за замену файла BSOD? какая то дешевка получается.

> А кто сказал, что не системных?

Любая уважающая себя софтверная компания должна всеми силами пытатся избежать ситуации при которой какие либо изменения вызванные при обновлении не должны валить систему в BSOD. Да проверить, сказать что не возможно это сделать скажем без перезагрузки (тогда отработает MoveFileEx без всяких проблемм), а не валить молча.

> А если игра устанавливает в систему
> какой-то драйвер, который загружается при старте системы, а патч
> должен его заменить, т.е. выгрузить из памяти, переписать на диске и
> загрузить вновь.

Если разработчики драйвера умные люди, они придумасматривают возможность выгрузки драйвера на лету, без последствий - если такой возможности нет Unload Routine просто не вызывается, и драйвер живет в системе до перезагрузки.

> А версия системы не та, что нужно, драйвер обращается не по тем
> адресам, вот и BSOD.

Благо друзья из MS позаботились о обратной совместимости своих систем и стека драйверов. Но даже если новый драйвер всетаки загрузился и пробует что то там делать с критически важдыми систеными данныеми, доступ к которые получает каким то особым способом, должен проверить версию системы и ничего не делать в случае не совместимости. Опять же если это не так... то снова криворукость программеров.

Итого из всего этого можно сделать вывод: все это можно взять и исправить, и не валится в BSOD. Так нет же... советуем обновите систему, потому что нам лень писать совместимый код под более раннии ОС.

> Paint.net - System Requirements:
> Windows 7 (recommended), or Windows XP SP3, or Windows Vista SP1
> (SP2 and Platform Update recommended).

М-да, благодоря линивым NET программистам, имеем банальную задачу, для решених которых нужно тянуть вагон и маленькую тележку никому не нужных библиотек.

TRam_
07.10.2011, 21:59
По сути дела замена файлов должна была бы работать начиная с Windows NT 4.0.в трейнзе большинство встроенных файлов и текстур запакованы в специальные архивы. Потому патчерам приходится "расковыривать" эти архивы и обновлять содержимое некоторых кусочков этих архивов. Причём так, чтоб сам "разархиватор" было бы трудно взломать (хотя MultiEx Commander такие архивы уже умеет распаковывать).

Обновление драйверов, думаю, тут не при чём - патчер работает с незапущенной игрой.

alexcat
08.10.2011, 00:40
Не понял, что ты хотел этим сказать.Только то, что замена файла - не всегда простая операция.

...сказать что не возможно это сделать скажем без перезагрузки (тогда отработает MoveFileEx без всяких проблемм), а не валить молча. ...драйвер живет в системе до перезагрузки.Ну грохнется система после перезагрузки, кому от этого легче станет?

Так нет же... советуем обновите систему, потому что нам лень писать совместимый код под более раннии ОС.В точности то же самое рекомендует и Microsoft во избежание появления тех же BSOD. Любой рецепт по лечению системы от MS начинается со слов:"Установите последние обновления". Не понимаю, что тут криминального?

Tabakerka
19.10.2011, 19:51
Ребята, большое спасибо за квалифицированную помощь, думаю что не стоило так спорить о процессах, которые приводят к вылету системы, но всё равно большое спасибо всем, кто помог. Действительно проблема решилась, после установки СП3 на Винду, у меня стоял СП2, что и стало соответственной причиной. Сейчас Патчер запустился без проблем, пока патчит... ориентировано по времени часа на 3 наверное.. В общем всем спасибо, тему можно закрывать)

Добавлено через 1 час 41 минуту
Всем большое спасибо за безценную информацию. Пропатчил Винду с СП2 до СП3, теперь и пропатчил Треинз, всё гуд, только нарисовалась новая проблемка, не воспринимает старый ключ, просит новый, и какой не ввиду пишет на английском что то вроде "неверно введен ключ, поставте разкладку клавиатуры на английскую", а она и так английская...

TRam_
19.10.2011, 20:20
версия игры 37625билд английского релиза, то скорее всего скачал пиратку. Так что ищи новый ключ. Гугл его может и найдёт.

РыцарьРР
20.10.2011, 11:04
не воспринимает старый ключ
Игры или ОС?

Arix
05.11.2011, 12:19
Я как-то ради интереса пробовал запускать патчер в ХР SP2. Пробовал пропатчить игру, скопированную в отдельную папку без установленных мной дополнений. Первый раз - синий экран, как Ауран и обещал, со второй попытки всё пошло нормально, и игра пропатчилась.