2009-04-21 18 views
7

Masz nośnik statyczny, płytę CD, więc nie możesz zmienić żadnych plików na nim. Jak działają aktualizacje? Rozumiem, że nadchodzi kod, który uruchamia i sprawdza, czy wersja nie jest poprawna, a następnie pobiera poprawkę, jeśli jest taka potrzeba, ale w jaki sposób ścieżka ta jest zintegrowana z grą?Jak działają aktualizacje gier XBox?

Czy jest trochę "sprawdzania aktualizacji", który sprawdza pliki poprawki i ładuje je? Jeśli tak, to w jaki sposób projektują ten kod, aby programiści mogli rozwiązać nieprzewidziane problemy?

+0

Scenariusz ten może również pojawiać się w programowaniu urządzeń mobilnych, w którym lokalne przechowywanie do odczytu/zapisu jest opcjonalne. Rozważ uogólnienie swojego pytania na to. –

Odpowiedz

10

Poprawka zawiera skompresowany w delcie plik wykonywalny i wszelkie nowe dane, których może wymagać ten plik wykonywalny. Programowy program ładujący konsoli Xbox 360 sprawdza poprawkę (poprzez identyfikator tytułu gry), a jeśli zostanie znaleziony, ładuje stary plik wykonywalny do pamięci, a następnie modyfikuje go w pamięci za pomocą wersji skompresowanej w delcie. (Proces tworzenia kompresowanego w delcie pliku wykonywalnego może trwać nawet ponad godzinę, ale wynikowy rozmiar pliku jest tego warty).

Firma Microsoft nie dostarcza żadnych narzędzi do poprawiania danych. Wszelkie zaktualizowane dane będą również znajdować się w łatce, ale do pliku wykonywalnego będzie należało wyszukiwanie w obszarze "aktualizacji" i odpowiednie zastosowanie.

Jak wspomniano, łatkę należy gdzieś przechowywać - może ona znajdować się na dysku twardym lub karcie pamięci. Jeśli karta pamięci zostanie umieszczona w obszarze zarezerwowanym dla systemu 8 MB (łatki powinny być oznaczone numerem < 4 MB, aby można było zapisać 2 poprawki na karcie pamięci, może to zostać przekroczone za zgodą firmy Microsoft).

Wszystkie poprawki muszą być kumulatywne - jeśli zaktualizujesz tytuł do wersji 1.1, po wyjściu z wersji 1.2 musi on zawierać wszystkie zmiany z wersji 1.1.

0

Jeśli masz aplikację, która ma plik .exe, który jest używany do uruchomienia aplikacji lub może niektóre pliki .dll. Jak zaktualizowałbyś swój program? Dlaczego po prostu nie zastąpić tych plików nowszymi wersjami i używać ich zamiast tego?

Może sprawdzić znacznik czasu plików zapisanych na dysku twardym zamiast plików na dysku CD?

+0

Co się stanie, jeśli pliki, które chcesz zmienić, znajdują się na dysku CD? – scottm

+1

Następnie umieść nowszą wersję na dysku twardym i upewnij się, że ścieżka przeszukiwania najpierw ją sprawdza. – jsight

1

Przypuszczam, że po prostu wstawiając grę do Xboksa, zapisuje Manifest jakiegoś opisu na dysku twardym lub nośnik pamięci flash w pudełku, który utrzymuje listę wersji bibliotek & lokalizacja (na CD lub na ścieżce na XBox HD)

Po aktualizacji, zaktualizuje plik manifestu.

"Podczas uruchamiania tej gry użyj biblioteki X v1.1 z dysku twardego zamiast z biblioteki X v1.0 z dysku CD."

+0

To też byłoby moje założenie - zwłaszcza, że ​​dysk twardy XBox360 jest opcjonalny. –

+0

Tak więc, każda biblioteka w grze byłaby ładowana ręcznie, nawet jeśli obecnie nie ma żadnych łatek? – scottm

+0

gier na konsolę Xbox nie należy używać "aktualizowalnych" bibliotek (z wyjątkiem interfejsu z systemem/pulpitem); wszystko jest statycznie połączone z plikiem wykonywalnym – arolson101