Autor Wątek:  Instalator Dodatków  (Przeczytany 14301 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline HappyHardcore123

  • Wiadomości: 12
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« dnia: 10 Lutego 2007, 22:06:57 »
Witam!

  Piszę właśnie program do tworzenia, instalacji i zarządzania dodatkami do symulatora.

Program, wzorem Trainz'owego "Content Dispatchera", opiera się na własnym formacie danych (pliki *.mpm)

Instalator wygląda tak:


Link do programu:
http://www.shipyard-software.yoyo.pl/PackageManager.zip

Całość jest napisana w Delphi 7.

Program ma wyłączony kod odpowiedzialny za wypakowywanie zawartości paczki (nie jest jeszcze dopracowany)

Instalator trzeba uruchomić przeciągając plik *.mpm na ikone programu. Normalnie pojawi się niedokończone okno Managera.

Pozdrawiam, Karol
MaSzyna Package Manager

Instalator - Gotowy
Baza danych - Niezaimplementowany interface IDatabase
Ekstraktor zawartości paczki - Zaimplementowane wczytywanie manifestu paczki

Offline Bartek

  • Wiadomości: 378
  • MaSzyna Team Member since 2003
    • Zobacz profil
    • http://republika.pl/gliniecki
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #1 dnia: 10 Lutego 2007, 22:13:04 »
Ładna robota!

Trzeba tylko jakiś program, który będzie pakował pliki do tego formatu .mpm. No i twórcy tras/taboru powinni odczuwać wewnętrzną potrzebę stosowania jednego standardu dla rozpowszechniania swoich dzieł czyli np. takiego programu :)
Pozdrawiam z Gdyni Wielkiego Kacka,
Bartek

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3730
    • Zobacz profil
  • Otrzymane polubienia: 85
Instalator Dodatków
« Odpowiedź #2 dnia: 10 Lutego 2007, 22:21:49 »
A co będzie, jak autor trasy doda plik który mam już w MaSzynie (np. inc do jakiegoś semka)?
Będzie pytał, czy zastąpić plik, czy z automatu nadpisze?
Jeżeli będzie z automatu nadipsywał, to ja takiego instalatora nie chcę (wolę dodatek spakowany rarem i wtedy decyduję co nadpisać, a co nie).
Bo jak kiedyś wspomniałem, nadpisywanie plików to niebezpieczna rzecz.

Ze screena instalator bardzo ładnie wygląda.

PS
Masz takiego nicka, że na 100% byłem przekonany, że to kolejny spam-bot :)

Offline HappyHardcore123

  • Wiadomości: 12
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #3 dnia: 10 Lutego 2007, 22:37:30 »
Ja to rozwiązałem tak:

Jeśli instalator natrafi na plik który już istnieje, pokaże mu zawartość obu plików, tzn. istniejącego i instalowanego.

Ewentualnie (raczej ta metoda powinna być stosowana) autor dodatku oznaczy w paczce dany plik jako niebezpieczny; wraz z odpowiednim komunikatem do użytkownika ;)
MaSzyna Package Manager

Instalator - Gotowy
Baza danych - Niezaimplementowany interface IDatabase
Ekstraktor zawartości paczki - Zaimplementowane wczytywanie manifestu paczki

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3730
    • Zobacz profil
  • Otrzymane polubienia: 85
Instalator Dodatków
« Odpowiedź #4 dnia: 10 Lutego 2007, 22:44:37 »
Słuchaj, krótko:
Natrafi na plik, który istnieje, zapyta czy zastąpić czy nie, wraz z komunikatem, że nadpisywanie może być niezdrowe i be :)
Tak to powinno działać defultowo.
Inne działanie jest dla mnie nie do przyjęcia.

Offline HappyHardcore123

  • Wiadomości: 12
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #5 dnia: 10 Lutego 2007, 23:18:01 »
No i jest defaultowe :)

Tyle że jeszcze nie w pełni gotowe :/

Wprawdzie posiada podświetlanie składni różnych plików z symulatora, ale jeszcze nie "widzi" różnic.

W przypadku plików tekstowych muszę napisać parser, który będzie znajdował różnice.

Pliki innego typu (graficzne, dźwiękowe, itd.) zostawię sobie na później.
MaSzyna Package Manager

Instalator - Gotowy
Baza danych - Niezaimplementowany interface IDatabase
Ekstraktor zawartości paczki - Zaimplementowane wczytywanie manifestu paczki

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3730
    • Zobacz profil
  • Otrzymane polubienia: 85
Instalator Dodatków
« Odpowiedź #6 dnia: 10 Lutego 2007, 23:44:05 »
Nie baw się w szczegóły (moje zdanie), krótko tylko komunikat, że plik istnieje i czy chcesz go nadpisać T/N/Wszystkie/Żaden

Komunikat: "Nadpisywanie plików jest ogólnie nie zalecane, chyba że jesteś na 100% przkonany co robisz, to nadpisz. Czasami nadpisywanie jest zalecane, krótko mówiąc zastanów się i podejmij decyzje :)"

Nie wnikaj w szczegóły, czy się różnią, czy nie. Uprości Ci to sprawę, a analiza gdzie jest ta różnica i jaki ona może mieć wpływ w danym pliku np. w inc. semka wymaga czasami paru godzin, więc raczej funkcja nieprzydatna, a tylko kB kodu Ci przybywa.

Offline Winger

  • Administrator
  • Wiadomości: 1465
    • Zobacz profil
    • http://www.winger.eu07.pl
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #7 dnia: 11 Lutego 2007, 04:27:28 »
Moim zdaniem niesamowite, jestem naprawde pod wrazeniem...
Pozdrawiam,
Winger

Offline HappyHardcore123

  • Wiadomości: 12
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #8 dnia: 11 Lutego 2007, 14:35:43 »
Ok.

Właśnie zaprojektowałem wygląd okna, w którym będzie można tworzyć "paczkę".


Dodawanie plików będzie odbywało się na zasadzie "przeciągnij i upuść", nie tylko z okna programu, ale tez i z Eksploratora.

Dopiero zabieram się za pisanie kodu
MaSzyna Package Manager

Instalator - Gotowy
Baza danych - Niezaimplementowany interface IDatabase
Ekstraktor zawartości paczki - Zaimplementowane wczytywanie manifestu paczki

Offline RooteK

  • Wiadomości: 1209
    • Zobacz profil
    • Nieoficjalna strona węzła kolejowego Jaworzno.
  • Otrzymane polubienia: 9
Instalator Dodatków
« Odpowiedź #9 dnia: 11 Lutego 2007, 15:03:18 »
a dlaczego menu jest po angielsku? :) Nie dało by się zmienić właściwości "caption" na polskie napisy :D A tak to świetny program :D

Offline bve2

  • Wiadomości: 161
    • Zobacz profil
    • http://www.admineu07.prv.pl
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #10 dnia: 21 Lutego 2007, 12:12:26 »
Cytat: "glowawojtas0"
a dlaczego menu jest po angielsku? :


Ja bym sie nie czepial takich glupot, do programu mozna opcjonalnie dopisac plik jezykowy i to wszystko.

Offline HappyHardcore123

  • Wiadomości: 12
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #11 dnia: 21 Lutego 2007, 20:01:40 »
Nie ma problemu ;)

Dodam mechanizm wybierania języka, ale najpierw muszę te programy napisać. W tej chwili prawie skończony jest instalator; drugi program ( do tworzenia paczek ) właśnie się pisze.
MaSzyna Package Manager

Instalator - Gotowy
Baza danych - Niezaimplementowany interface IDatabase
Ekstraktor zawartości paczki - Zaimplementowane wczytywanie manifestu paczki

Offline Mutopompka

  • Wiadomości: 1155
  • Na IRC-u SPRĘŻAREK vel. tyqtyqtyq
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #12 dnia: 21 Lutego 2007, 20:10:09 »
Cytat: "HappyHardcore123"
Ja to rozwiązałem tak:
Jeśli instalator natrafi na plik który już istnieje, pokaże mu zawartość obu plików, tzn. istniejącego i instalowanego.
A co, jeśli ktoś zechce przeinstalować sobie całego symka???? Za każdym plikiem będzie klikać i porównywać??? Przecież załamać się wtedy można.

Offline HappyHardcore123

  • Wiadomości: 12
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #13 dnia: 21 Lutego 2007, 20:35:34 »
Poczuwam się do zagwarantowania, że nikomu nic się nie stanie ;)

Jak już wcześniej pisałem, mechanizm wczytywania plików z różnymi wersjami językowymi napisze na końcu; dlatego część napisów jest po angielsku, a część po polsku.

Wziąłem pod uwagę komentarze Mariusz1970, i zrezygnowałem z porównywania plików.

Pozdrawiam, Karol
MaSzyna Package Manager

Instalator - Gotowy
Baza danych - Niezaimplementowany interface IDatabase
Ekstraktor zawartości paczki - Zaimplementowane wczytywanie manifestu paczki

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3730
    • Zobacz profil
  • Otrzymane polubienia: 85
Instalator Dodatków
« Odpowiedź #14 dnia: 21 Lutego 2007, 21:33:05 »
Popraw komunikat:
jest:
"Nadpisywanie plików jest ogólnie nie zalecane, chyba że jesteś na 100% przkonany co robisz, to nadpisz. Czasami nadpisywanie jest zalecane, krótko mówiąc zastanów się i podejmij decyzje."

powinien być:
"Nadpisywanie plików jest ogólnie nie zalecane, chyba że jesteś na 100% przekonany co robisz, to nadpisz. Czasami nadpisywanie jest zalecane, krótko mówiąc zastanów się i podejmij decyzje."

Literki brakowało, przepraszam.

Offline Mariusz W.

  • Wiadomości: 392
  • Testsssss
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #15 dnia: 23 Lutego 2007, 18:04:02 »
Cytat: "Mariusz1970"
[...]
powinien być:
"Nadpisywanie plików jest ogólnie nie zalecane, chyba że jesteś na 100% przekonany co robisz, to nadpisz. Czasami nadpisywanie jest zalecane, krótko mówiąc zastanów się i podejmij decyzje."

Literki brakowało, przepraszam.
Jeśli już to:
"Nadpisywanie plików jest ogólnie niezalecane, chyba że jesteś na 100% przekonany co robisz, to nadpisz. Czasami nadpisywanie jest zalecane, krótko mówiąc zastanów się i podejmij decyzje."

Wyraz "niezalecane" powinien być razem.
--

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3730
    • Zobacz profil
  • Otrzymane polubienia: 85
Instalator Dodatków
« Odpowiedź #16 dnia: 23 Lutego 2007, 19:30:12 »
Najlepiej unikać tego typu zwrotów i niebędzie problemu.
Możliwe, ale niejest to wszystko takie oczywiste, gdyż Word mi się burzy jak napiszę razem, sprawdziłem http://ortografia.pl/index.php i dopuszcza i razem i osobno. Ponadto jeśli coś można zakwalifikować jako przeczenie na pytnie, to wtedy osobno.
Chociaż sprawdziłem w jakimś internetowym słowniku było rzeczywiście razem i raczej w tym znaczeniu chyba powinno być razem.
To dobrze, że wychwytujesz błędy, poprzednia poprawka tyczyła się brakującej litery.
Liczę, że będziesz bacznym obserwatorem i recenzentem ortografii na forum i niebędziesz biernie się temu przyglądał.
:)

Offline HappyHardcore123

  • Wiadomości: 12
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #17 dnia: 23 Lutego 2007, 22:04:18 »
Napisałem prawie cały kod odpowiedzialny za ładownie pliku z tłumaczeniami do programu:



Teraz zamiana któregoś z napisów nie będzie wymagała przekompilowania całego programu, ale zmiany wiersza w pliku.

Sam plik jest zapisany w formacie XML, dzięki czemu staje się łatwy w edycji (żadnych restrykcyjnych reguł w stylu "3 puste linie na końcu pliku" ;) )

Pozdrawiam, Karol
MaSzyna Package Manager

Instalator - Gotowy
Baza danych - Niezaimplementowany interface IDatabase
Ekstraktor zawartości paczki - Zaimplementowane wczytywanie manifestu paczki

Offline janek32

  • Wiadomości: 567
  • EMIT Ghp400M4C
    • Zobacz profil
  • Otrzymane polubienia: 0
Popraw to
« Odpowiedź #18 dnia: 02 Maja 2007, 09:44:01 »
Jeszcze jest jedna rzecz do poprawienia. Do okienka o nadpisywaniu plików trzeba dodać ścieżkę, w której jest plik o tej samej nazwie. Bo tak nie wiadomo gdzie jest ten plik i nie da się zadecydować, czy go nadpisać czy nie.

I jeszcze jedno. Proszę o aktualny link do programu. Bo ten w pierwszym poście już nie działa.

Edit:
Przepraszam, nie zauważyłem, że scieżka jest podawana
-Środa 844012.
-Zgłaszam się.
-Zapytaj energetykę, czy zapłacili rachunki, luzem ciągniemy i jest 2900.

Offline kelcon

  • Wiadomości: 3
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #19 dnia: 06 Maja 2007, 21:23:37 »
Bardzo fajna inicjatywa :)

Z mojej strony mam parę pytań:

- jak rozwiązałeś problem zależności jednych pakietów od drugich i jaką zaplanowałeś ich strukturę (jedna duża paczka zawierająca wszystko vs podział na małe, atomowe części)?

- jak planujesz rozwiązać temat wersjonowania (trasa A wersja 1, 2, itd) - zwłaszcza w konteście ew. zależności?

- czy dopuszczasz możliwość współistnienia różnych wersji pliku o tej samej nazwie (czytałem wypowiedzi w wątku, ale mimo to zadam pytanie) w kontekście sytacji trasa A wymaga 1. wersje pliku, trasa B wymaga 2. wersje pliku a obie są niekompatybilne?

- czy myślałeś o jakimś prostym zdalnym instalatorze (pobierz przez HTTP z serwera XML z listą pakietów > pobierz pobrane pakiety)?

- jaka jest struktura pliku z pakietem (to jakiś proste archiwum z XMLem z metadanymi w roocie, czy coś bardziej złożonego)?

- jak identyfikowane będą pakiety (id)?

Pozdrawiam

Offline Krzysiek626

  • Zasłużony dla Symulatora
  • Wiadomości: 5768
  • EXIT
    • Zobacz profil
    • Krzysiek626
  • Otrzymane polubienia: 280
Instalator Dodatków
« Odpowiedź #20 dnia: 06 Maja 2007, 22:17:52 »
@kelcon, słuch zaginął po projekcie. Ostatni post autora jest z dnia 23 lutego. Spokojnie można przyjąć, że problemy przerosły możliwości autora.
Co do rzeczy o których piszesz i pytasz:
 
Cytuj
jak rozwiązałeś problem zależności jednych pakietów od drugich i jaką zaplanowałeś ich strukturę (jedna duża paczka zawierająca wszystko vs podział na małe, atomowe części)?

Zdaje mi się że ten problem powinien być rozwiązany na poziomie instalowanego dodatku który zawiera potrzebne do jego działania elementy. Struktura katalogów symulatora jest już i nie widzę możliwości jej zmiany.
Cytuj
- jak planujesz rozwiązać temat wersjonowania (trasa A wersja 1, 2, itd) - zwłaszcza w konteście ew. zależności?

To zależy od autora wersji tras, a nie od tego co zaplanuje autor instalatora.
-
Cytuj
czy dopuszczasz możliwość współistnienia różnych wersji pliku o tej samej nazwie (czytałem wypowiedzi w wątku, ale mimo to zadam pytanie) w kontekście sytacji trasa A wymaga 1. wersje pliku, trasa B wymaga 2. wersje pliku a obie są niekompatybilne?

W jednym katalogu nie mogą istnieć dwie różne wersje pliku pod tą samą nazwą. Jakbyś dobrze przejrzał pliki .scn to dla dwu różnych wersji trasy przykładowo Głupkowo.scn dajemy różne pliki z eventami  o nazwie evnt1_głupkowo.inc  i event2_głupkowo2.inc  Trasę odpalamy odpowiednio z pliku głupkowo1.scn i głupkowo2.scn.
Cytuj
czy myślałeś o jakimś prostym zdalnym instalatorze (pobierz przez HTTP z serwera XML z listą pakietów > pobierz pobrane pakiety)?

No cóż, za dwadzieścia parę lat a może mniej....
takie rzeczy to w programach antywirusowych. Symulator nie jest tworzony przez wielką firmę za ogromne pieniądze, siłą rzeczy nie wszystko w nim będzie.
Od siebie dodam że największym problemem nie jest brak programu z aktualizacją tras, lub brakiem ich instalatora. Największy problem to brak kompatybilności modeli, wielość różnych plików i ich modyfikacji. Kompletny brak trzymania się reguł tworzenia tras i modeli przez ich autorów. Tego nie załatwi żaden instalator, nawet zdalny.

Offline kelcon

  • Wiadomości: 3
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #21 dnia: 07 Maja 2007, 07:44:07 »
Cytat: "Krzysiek626"
@kelcon, słuch zaginął po projekcie. Ostatni post autora jest z dnia 23 lutego. Spokojnie można przyjąć, że problemy przerosły możliwości autora.


Fakt. nie zauważyłem.
 
Cytuj
W jednym katalogu nie mogą istnieć dwie różne wersje pliku pod tą samą nazwą. Jakbyś dobrze przejrzał pliki .scn to dla dwu różnych wersji trasy przykładowo Głupkowo.scn dajemy różne pliki z eventami  o nazwie evnt1_głupkowo.inc  i event2_głupkowo2.inc  Trasę odpalamy odpowiednio z pliku głupkowo1.scn i głupkowo2.scn.


Mogą istnieć, ;) jeżeli przed uruchomieniem właściwa wersja zostanie przegrana ze znajdującego się na uboczu archiwum.

Cytuj

Cytuj
czy myślałeś o jakimś prostym zdalnym instalatorze (pobierz przez HTTP z serwera XML z listą pakietów > pobierz pobrane pakiety)?


No cóż, za dwadzieścia parę lat a może mniej....
takie rzeczy to w programach antywirusowych. Symulator nie jest tworzony przez wielką firmę za ogromne pieniądze, siłą rzeczy nie wszystko w nim będzie.


To akurat nie jest specjalne trudne. Mógłbym pomóc przy tym. Jednakże skoro autor zarzucił projekt, to jest to dyskusja akademicka.

Offline HappyHardcore123

  • Wiadomości: 12
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #22 dnia: 07 Maja 2007, 07:52:19 »
Witam wszystkich ponownie.

Projekt nie został zarzucony

Pytacie, czy nie przerosły mnie problemy nad programem.. Tak przerosły mnie, te domowe..

Cytuj

jak rozwiązałeś problem zależności jednych pakietów od drugich i jaką zaplanowałeś ich strukturę (jedna duża paczka zawierająca wszystko vs podział na małe, atomowe części)?


Wszystko zależy od twórcy dodatku. Moze bez problemów spakować pojedyńczo każdy semafor, lub równie dobrze "wsadzić" je wszystkie w jedna paczke.
Cytuj

Cytuj

- jak planujesz rozwiązać temat wersjonowania (trasa A wersja 1, 2, itd) - zwłaszcza w konteście ew. zależności?

To zależy od autora wersji tras, a nie od tego co zaplanuje autor instalatora.

Musze jednak potwierdzić, że zależy to jednak ode mnie.
Na razie opracowalem taki system identyfikacji pakietów:

ID_AUT.ID_PACZ.ID_WER.ID_WYD.ID_BUD.KONTROLA

gdzie odpowiednio:

ID_AUT - liczbowy identyfikator autora (np. 6243523)
ID_PACZ - liczbowy identyfikator paczki (np. 9040)
ID_WER - wersja danej paczki (np. 2)
ID_WYD - identyfikator wydania (np. 4)
ID_BUD - identyfikator budowy (np. 415)
KONTROLA - pojedyncza cyfra kontroli

wszystkie liczby oddzielone są od siebie separatorem, w postaci kropki "."

przykładowy identyfikator paczki:

"6243523.9040.2.4.415.9"

Cytuj

- jaka jest struktura pliku z pakietem (to jakiś proste archiwum z XMLem z metadanymi w roocie, czy coś bardziej złożonego)?


Tak, plik paczki jest to proste archiwóm zip. Jest w nim spakowana cała struktura paczki (dokładnie taka sama jak w katalogu symulatora), oraz plik manifestu (ze wszystkimi informacjami potrzebnymi do instalacji.

Instalacja "paczki" to po prostu kontrolowane rozpakowanie zawartości paczki do katalogu symulatora, oraz dodanie odpowiedniego wpisu do bazy danych.

Cytuj

- czy dopuszczasz możliwość współistnienia różnych wersji pliku o tej samej nazwie (czytałem wypowiedzi w wątku, ale mimo to zadam pytanie) w kontekście sytacji trasa A wymaga 1. wersje pliku, trasa B wymaga 2. wersje pliku a obie są niekompatybilne?


Tak. Informacje o wymaganych do instalacji pakietach są zapisywane w pliku manifestu paczki, w sekcji "zależności". Instalator nie zainstaluje paczki do chwili, gdy wszystkie paczki zależnie od niej nie zostaną zainstalowane.
MaSzyna Package Manager

Instalator - Gotowy
Baza danych - Niezaimplementowany interface IDatabase
Ekstraktor zawartości paczki - Zaimplementowane wczytywanie manifestu paczki

Offline Krzysiek626

  • Zasłużony dla Symulatora
  • Wiadomości: 5768
  • EXIT
    • Zobacz profil
    • Krzysiek626
  • Otrzymane polubienia: 280
Instalator Dodatków
« Odpowiedź #23 dnia: 07 Maja 2007, 10:19:27 »
Może napisałem zbyt dosadnie, ale jednak...
1. Cieszę się że projekt nie został zarzucony, a jedyne trudności jakie są, to te obiektywne. ( domowe ) Uwierz że to nie jest ironia. Czasem tak bywa.
2. Pomimo wszystko wydaje  mi się że taki instalator będzie posiadał pewne wymagania od autora dodatku. Wszystko zadziała poprawnie o ile autor będzie chciał spełnić wymagania instalatora. Tu właśnie przynajmniej ja widzę problem i z tego powodu napisałem że nie od Ciebie to zależy.
Taki instalator z możliwością wyboru pewnych opcji ( nadpisz/zrezygnuj )
skomplikuje i tak już trudną sytuację jaka panuje w plikach symulatora. Idąc tym tropem instalator nie zagwarantuje poprawnego działania dodatku. Poprawne działanie dodatku może zapewnić tylko jego autor który zadba o właściwy dobór potrzebnych do działania plików, modeli i t p ......

Nie jestem przeciwny, nie jestem też zbytnio krytyczny. Wierzę że Twoja wiedza jest znakomita do stworzenia instalatora.  Ale to nadal nie wystarczy. Z instalatora trzeba będzie umieć i chcieć skorzystać. Dotyczy to zarówno autora dodatku jak i jego końcowego odbiorcy.

Do napisania trasy trzeba spełnić kilka wymagań exe. Inaczej program się posypie. To samo dotyczy exeka, każde następne powinno obsługiwać poprzednią wersję, a jednak nie zawsze tak jest. Exeki nie są stabilne równierz dla wszystkich sterowników. Zestarzało się też start.exe. Lista problemów jest długa.

Offline HappyHardcore123

  • Wiadomości: 12
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #24 dnia: 07 Maja 2007, 17:21:48 »
Tak, Instalator nie zapewni pełnej zgodności z symulatorem, ani też bezpieczeństwa. Jednak w pewien sposób ułatwi samo instalowanie i zarządzanie dodatkami.

Cytuj

skomplikuje i tak już trudną sytuację jaka panuje w plikach symulatora. Idąc tym tropem instalator nie zagwarantuje poprawnego działania dodatku. Poprawne działanie dodatku może zapewnić tylko jego autor który zadba o właściwy dobór potrzebnych do działania plików, modeli i t p ......

Najlepszym wyjściem z tej sytuacji byłaby zgodność w dół wszystkich "dodatków" do symulatora. Wtedy istniała by niemal 100% pewność, że np. dana mapa zadziała tak i ze starszą wersją jakiegoś dodatku jak i z nowszą.

Ale do rzeczy:
Przez ten czas, który nie odzywalem sie na forum, cały program przeszedł " lekkie" zmiany.

Większość kodu programów została przepisana od nowa. Zmienil sie także sam wygląd instalatora.



Poprzednia wersja programu pozwalała na zainstalowanie jednocześnie tylko jednego pakietu. W przypadku większej ilości plików, program trzeba było uruchamiać od nowa (jeden z błędów TRS2004, poprawiony w TRS2006).

Priorytetowym zadaniem jest stworzenie mechanizmu sprawdzania autentyczności danego pakietu; tego mechanizmu nie moze zapewnic sam program. Potrzebna jest integracja z jakimś "systemem zarządzania użytkownikami".
MaSzyna Package Manager

Instalator - Gotowy
Baza danych - Niezaimplementowany interface IDatabase
Ekstraktor zawartości paczki - Zaimplementowane wczytywanie manifestu paczki

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3730
    • Zobacz profil
  • Otrzymane polubienia: 85
Instalator Dodatków
« Odpowiedź #25 dnia: 07 Maja 2007, 18:11:46 »
Przypomina mi to jakąś akademicką dyskusję.
Najważniejsze jest to, aby autor dodatku był jak najbardziej staranny np. do paczki jakiegoś dodatku dodał wszystkie potrzebne pliki, konstrukcja trasy, eventy trasy etc.
Reszta jest że tak powiem nieważna, byleby interface instalatora był przyjazny, ładny, ergonomiczny itp.
Jakieś tam identyfikatory, kto to będzie przestrzegał, nie bądźmy naiwni.

Offline janek32

  • Wiadomości: 567
  • EMIT Ghp400M4C
    • Zobacz profil
  • Otrzymane polubienia: 0
Dobrze
« Odpowiedź #26 dnia: 08 Maja 2007, 19:10:33 »
Program rzeczywiście dobrze został poprawiony, ale jak już będzie dostępny, to chciałbym też linka do starszej wersji.
-Środa 844012.
-Zgłaszam się.
-Zapytaj energetykę, czy zapłacili rachunki, luzem ciągniemy i jest 2900.

Offline HappyHardcore123

  • Wiadomości: 12
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #27 dnia: 15 Maja 2007, 16:23:06 »
Moze i nikt nie będzie tych identyfikatorów przestrzegał, ale taki mechanizm w moim mniemaniu sie przyda.

Juz prawie skonczylem prace nad interfejsem programu. Wyglada on teraz tak:



Pozostało mi juz tylko napisac kod bibliotek, które rozpakowywuja dodatek do katalogu, zarządzaniem wersjami, bazą zainstalowanych dodatków.

Zastanawiałem się też nad rozróżnieniem w programie dwóch typów paczek: paczki głównej, oraz paczek aktualizacyjnych; jednak doszedłem do wniosku, ze moze to zastąpić mechanizm zależności:

na przykład:

mamy paczke o numerze 404, wersji 1, wydania 1

czyli taki id: 404.1.1.1

autor paczki, zamiast wydawac po każdej zmianie nową wersje, tworzy paczke ze zmienionymi plikami.

np. aktualizacje do paczki 404.1.1.1 mogly by miec takie identyfikatory oraz zaleznosci:

404.1.1.15 - wymagala by paczki 404.1.1.1
404.1.1.25 - wymagala by paczek: 404.1.1.1 i 404.1.1.15
404.1.2.30 - wymagala by paczek: 404.1.1.1, 404.1.1.15 i 404.1.1.25

Program podczas instalowania paczek z aktualizacja, dbałby o to, zeby instalowac pliki we właściwej kolejności, ustalonej przez autora danej paczki:

Innym mechanizmem instalatora bedzie możliwośc odinstalowania paczki, bądź jej wyłączenia.
MaSzyna Package Manager

Instalator - Gotowy
Baza danych - Niezaimplementowany interface IDatabase
Ekstraktor zawartości paczki - Zaimplementowane wczytywanie manifestu paczki

Offline Mariusz1970

  • Zasłużony dla Symulatora
  • Wiadomości: 3730
    • Zobacz profil
  • Otrzymane polubienia: 85
Instalator Dodatków
« Odpowiedź #28 dnia: 15 Maja 2007, 17:23:05 »
Z całym szacunkiem, ale mam wrażenie, że to co robisz, to sztuka dla sztuki.
Jak sobie wyobrażasz wyłączenie paczki dodatku np. jakieś lokomotywy ze swojej MaSzyny raz już zainstalowanego tegoż dodatku?
podam przykłady:
1)Instalacja dodatku:Lokomotywy
a)zainstalować model w katalogu PKP
b)edytować swój własny plik dynamic.dat
c)edytować według własnego widzi mi się ten dodatek w poszczególnych własnych scn-ach lub jakiś includach związanych z daną scn.

Należałoby, aby ten dodatek odinstalować zrobić backup MaSzyny przed instalacją dodatku, zainstalować dodatek, a przy deinstalacji dodatku przywrócić MaSzynę z tego backupu.

Jak to się ma do tego instalatora?


2)Instalacja dodatku:Poprawinona jakaś tekstura modelu
tutaj podobny problem do pkt. 1


3)Instalacja dodatku:trasy, w której dodamy częściowo już pliki, gdzie dany user niektóre z nich ma.
tutaj podobny problem do pkt. 1

Jak to się ma do tego instalatora?

Pomijam tutaj te jakieś tam idenfyfikatory, być może ważne, ale komu potrzebna jest tam jakaś biurokracja, kto je będzie nadawał, etc...

Offline HappyHardcore123

  • Wiadomości: 12
    • Zobacz profil
  • Otrzymane polubienia: 0
Instalator Dodatków
« Odpowiedź #29 dnia: 15 Maja 2007, 18:16:20 »
Chodzi o wpisy trainset w plikach .scn?

Wiem, ze jesli model nie istnieje fizycznie na dysku, symulator sie wywali. Ale jesli program start.exe mialby mozliwosc dynamicznej zmiany zawartosci tych trainset'ów (sprawdzajac czy dany model istnieje) mogl by "podmieniac" wpis brakujacego modelu, na ten najbardziej pasujacy.

Co do wpisów do jakichkolwiek plików: instalator nie tylko rozpakowywuje paczke do katalogu, ale i bez problemów mogl by dodawac/usuwac/edytowac takie wpisy. Jesli moze to zrobic czlowiek, dlaczego nie mozna tego nauczyc maszyny? Zwlaszcza, ze maszyna moze zrobic to bezblednie? Wiem, ze nie wszystko da sie zrobic.. ale dlaczego by nie odciazyc uzytkownika od zbednych czynnosci?

Cytuj
Instalacja dodatku:trasy, w której dodamy częściowo już pliki, gdzie dany user niektóre z nich ma.


Podczas, gdy w trakcie instalacji wystapi wlasnie "proźba" nadpisania pliku, zostanie on automatycznie zapisany do katalogu np. "backup".

Cytuj
Instalacja dodatku:Poprawinona jakaś tekstura modelu
tutaj podobny problem do pkt. 1

Jesli plik nazywa sie tak samo, nie widze zadnego problemu. Zostaje zrobiona kopia zapasowa (ktora bedzie mozna oczywiscie przywrocic, np. po usunieciu aktualizaji).

Nawet jesli plik zapasowy zostanie uszkodzony, badz usuniety, zawsze mozna przywrócic go z pliku paczki. Bo kto w sumie usuwalby te pliki?

Jesli chodzi o tworzenie dla tworzenia.. realizuje się w muzyce ;)
MaSzyna Package Manager

Instalator - Gotowy
Baza danych - Niezaimplementowany interface IDatabase
Ekstraktor zawartości paczki - Zaimplementowane wczytywanie manifestu paczki

 

Maszyna - Symulator PojazdĂłw Szynowych