programy napisane na xp w net 2 nie chozą na win serve2008 ?

0

Dlaczego jak pare programów napisałem na windows xp w net framework 2.0 (i tak też jest z gotowymi aplikacjami demo z code project) to jak próbuję je uruchomić na windows server 2008 (coś prawie takie samo jak vista) z zainstalowanym net 3.5 to pokazuje mi okienko że błąd programu wystąpił, close program.. ?

0

"prawie" - to Ty chyba jednego albo drugiego nie widziałeś :P

Jakie okienko, co w nim jest napisane?

0

programy wymagaja zeby byl zainstalowany dokladnie taki sam framework na jakim zostaly skompilowane. szczesliwie, na danej maszynie mozesz miec zainstalowana dowolna ilosc roznych wersji .Net. szczerze, lepiej zainstaluj je z gory wszystkie zeby sie nie irytowac.. (ok, daruj sobie 1.0.. instaluj 1.1, 2.0, 3.0, 3.5 i nowsze)

a, a jesli to byly programy w C++/CLI lub korzystajace z czegokolwiek z native'a, to do tego jeszce musisz miec zainstalowane wszystkie redisty..

0

@quetzalcoatl: Nie zgadzam się. 3.0 = 2.0 + WPF/WCF/WF. Zainstalowanie 3.0 automatycznie instaluje 2.0, nie musisz oddzielnie instalować tych dwóch. Mam kilka komputerów na których mam tylko 3.0 i 3.5 (lub sam 3.5), a programy kompilowane pod 2.0 działają.

0

Ja mam tylko 3.5 i wszystko z 2.0 chodzi.
Tylko 1.0 i 1.1 to inna bajka.

0

Dam ci radę, jak rozwiązać problem:

Skorzystaj z napisanej w tym wątku przeze mnie konsoli:
http://4programmers.net/Forum/viewtopic.php?id=139652

Następnie całą główną funkcje main obejmij w try/catch:

public static void Main(){
     try{}catch(Exception ex){
          LogConsole.WriteLine(ex.ToString);
     }
}

I będziesz miał w pliku informację o tym co ci przeszkadza w uruchomieniu programu.

Chciałbym jeszcze dodać, bo może niektórzy nie wiedzą: Napis "Program wykonał nieprawidłową operację..." To tak naprawdę wyjątek wychodzący poza obszar funkcji main, lub wyrzucony poza obszarem tej funkcji.

0
Ktos napisał(a)

@quetzalcoatl: Nie zgadzam się. 3.0 = 2.0 + WPF/WCF/WF. Zainstalowanie 3.0 automatycznie instaluje 2.0, nie musisz oddzielnie instalować tych dwóch. Mam kilka komputerów na których mam tylko 3.0 i 3.5 (lub sam 3.5), a programy kompilowane pod 2.0 działają.

zgadza sie. - 3.0 to byl tylko zestaw paru dodatkow, a caly runtime i tak chodzil na 2.0. nie bylem zas pewien co do 3.5, stad taka rada
..inna sprawa, ze po przeczytaniu posta huberta i jeszcze raz tego poczatkowego - zaczyna mi sie wydawac ze rzeczywiscie nie chodzi o blad uruchomienia, tylko blad podczsa pracy..

0

spompiluj program pod windows 2008 i ci bedzie na wszystich chodzic :)
a problem polega na DLL i ich brakiem na niektorych systemach.

0

Chciałbym jeszcze dodać, bo może niektórzy nie wiedzą: Napis "Program wykonał nieprawidłową operację..." To tak naprawdę wyjątek wychodzący poza obszar funkcji main, lub wyrzucony poza obszarem tej funkcji.
Dokładniej mówiąc wyjątek ten jest generowany po skoku w nieznane :) tj. gdy program skoczy poza wszystkie bloki natywnego kodu wykonywalnego i pojawi się błędna instrukcja której procesor nie może wykonać (jakieś dane albo w tym przypadku może .NET'owy bytecode). Tego nie jestem pewien, ale możliwe że maszyna wirtualna też rzuca taki wyjątek jak trafi na bytecode którego nie może zinterpretować/wykonać.

swiss555 napisał(a)

spompiluj program pod windows 2008 i ci bedzie na wszystich chodzic :)
a problem polega na DLL i ich brakiem na niektorych systemach.
Raczej kilkudziesięciu dll'ek i nie tylko.

Co do wersji - 3.5 jest kompatybilnie wsteczny tylko do 3.0. Instalka 3.5 zawiera 2 wersje bibliotek - 3.5 oraz 2.0. Nie spotkałem się z instalką gdzie 3.5 byłoby oddzielone od 2.0. Ale nie wiem jak z Windowsem 2008, możliwe że domyślnie ma tylko 3.5.
W każdym razie pelno1 sprawdź co masz zainstalowane %WINDIR%\Microsoft.NET\Framework\wersja*.dll.

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