Форум Trainsim

Форум Trainsim (http://www.trainsim.ru/forum/index.php)
-   TrainZ — Об игре (http://www.trainsim.ru/forum/forumdisplay.php?f=22)
-   -   Перезагружается компьютер при попытке поставить новый СП (http://www.trainsim.ru/forum/showthread.php?t=14656)

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

[QUOTE=EliteXP;290669] Причина сохраняется в файл в папке \windows\minidump но для его анализа нужно разбиратся с работой системы.[/QUOTE]

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

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 выкладывает для патча диффы файлов, которые требуют очень внушительных ресурсов для патчинга, вот что то в системе и не справилось с этой задачей. А просто так от запука файла на исполнение система вылетать не должна, тут уже кото то ей помог :)

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

alexcat 07.10.2011 13:15

[QUOTE=EliteXP;290674]М-да, тогда я могу только одно, программистам Аурана должно быть стыдно, т.к патчинг - это по сути замена файлов, с которым их патчер не сравляется. А вот откуда там взялась опрации котрые валят систему на простых файловых операциях - ума не приложу. [/QUOTE]Ну так попробуйте провести простую файловую операцию по замене, скажем, ntdll.dll. ;) [QUOTE]По сути дела замена файлов должна была бы работать начиная с Windows NT 4.0.[/QUOTE]А до этого файлы заменять нельзя было?

EliteXP 07.10.2011 13:26

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

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

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

alexcat 07.10.2011 13:34

[QUOTE=EliteXP;290684]...система просто скажет что нельзя сейчас и все![/QUOTE]Ненене! Было заявлено, что замена файла - [B]простая[/B] операция.
[QUOTE]...заявление о том, что патчинг должен работать правильно начиная с SP3 - для меня кажется откровенной халатностью разработчиков.[/QUOTE]Однако это [B]заявлено[/B], и требовать, чтобы [B]этот[/B] патч работал под SP2 - не айс. А подобных примеров - масса. Очень многие приложения (даже не патчи) не могут работать с определенными сервис-паками.

EliteXP 07.10.2011 14:00

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

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

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

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

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

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

alexcat 07.10.2011 16:13

[QUOTE=EliteXP;290691]Конечно простая - вызов CreateFile() ну или там MoveFile() ну ни как не должен валить систему в BSOD...[/QUOTE]Не должен. Но и поставленная задача по замене файла выполнена не будет.

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

[QUOTE]Такое могут заявлять приложения которые очень системно ориентированные и использующие для работы драйвера ядра.[/QUOTE]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

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

Это требования 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

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

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

alexcat 08.10.2011 00:40

[QUOTE=EliteXP;290735]Не понял, что ты хотел этим сказать.[/QUOTE]Только то, что замена файла - не всегда простая операция.

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

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


Текущее время: 15:20. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
© 2001-2019, Администраторы и разработчики Клуба Trainsim