Projekt nie działa na innych komputerach.

0

Witam.

Mam zrobiony projekt w VS 2013 (C#) który kompiluje się i uruchamia bez problemu.
Jednak gry próbuje go uuchomić na innym komputerze (próbowałem na maszynie wirtualnej z XP i z 2008 R2) wywala od razu raport o błędzie w stylu:

WindowsFormsApplication7 has encountered a problem and needs to close.  We are sorry for the inconvenience.

Projekt skompilowany pod framework 3,5 - ten zainstalowany na testowej maszynie.

Jak szukać przyczyny w takiej sytuacji ?

0

Najlepszym rozwiązaniem będzie zainstalowanie VS na XP i uruchomienie kodu. LUb utworzenie klona XP i tam zainstalowanie VS. Szybki i proste rozwiązanie. Wtedy masz 100% kontroli.

0

W logach systemowych (EventViewer) powinieneś mieć callstacka.

0

Być może program wywala nieobsłużony wyjątek. Pozamykaj w bloku try catch konstruktory klas czy ważniejsze funkcje programu. Jeżeli to się dzieje podczas uruchamiania to złap w blok try catch zawartość konstruktora klasy, która odpala się jako pierwsza i wyświetl sobie wyjątek w jakimś MessageBoksie. Będziesz wiedział o co chodzi. Eventlog obawiam się, że niewiele powie.

(próbowałem na maszynie wirtualnej z XP i z 2008 R2)

Mam też nadzieje, że kompilujesz projekt pod odpowiednią wersję .Net'a. Na Xp'ku kompilacja powyżej v. 3.5 się nie uruchomi. 2008 to co innego.

0

Na XP e EventLog'u pojawia się wpis:
EventType clr20r3, P1 windowsformsapplication4.exe, P2 1.0.0.0, P3 55153afb, P4 windowsformsapplication4, P5 1.0.0.0, P6 55153afb, P7 b6, P8 b, P9 system.io.filenotfoundexception, P10 NIL.

Próbuje coś o tym znaleźć w sieci, ale póki co nie wiele z tego rozumiem ;).

0

Połap nieobsłużone wyjątki i dowiesz się tak naprawdę o co chodzi:

Generally speaking, clr20r3 is just a event message showing that there is an unhandled exception in your application.

Możesz nawet wykorzystać klasę ogólnego wyjątku typu Exception. Nawet nie musisz ich specjalizować żeby się dowiedzieć o co chodzi. Tutaj masz nawet rodzaj wyrzuconego wyjątku:

system.io.filenotfoundexception
1

Z komentarza wkleję tutaj

Tutaj jest opisane jak to obsłużyć (niezłapane nigdzie wyjątki) w WInForms: https://msdn.microsoft.com/en-us/library/ms157905(v=vs.110).aspx

Innym sposobem złapania wyjątku jest ująć Application.Run(...) z Program.cs w blok try Chociaż tu nie mam 100% pewności - byś musiał sprawdzić.

0

@Sarrus Twój sposób był strzałem w dziesiątkę :) !

Okazało się, że problemem były biblioteki (a raczej ich brak) do SQL CE.

1 użytkowników online, w tym zalogowanych: 0, gości: 1