Kompatybilność .exe na różnych systemach

0

Witam wszystkich,

Aktualnie operuję na Windows 10.

Nigdy nie zastanawiałem się czy moje aplikacje (.exe) tworzone w Visual Studio będą działać na wszystkich systemach operacyjnych. Zawsze to wyglądało tak, że u mnie działa... to lecimy dalej z książką lub z czymś innym. Na internecie nie mogę jakoś znaleźć listy kompatybilności. Wydaje mi się, że moje aplikacje będą działać na wszystkich Windowsach, powinny też na macku. Na Linuksie raczej nie. Ewentualnie czy trzeba pobierać jakieś nakładki czy inaczej tworzyć aplikacje? Wiem, że do uruchomienia plików .exe trzeba mieć CLR KIEDY jest on instalowany na komputer przy instalacji systemu, bo inaczej żadna aplikacja nie pójdzie.

Proszę jedynie o sprostowanie mojej wypowiedzi, wieeeeeeeelkie dzięki

0

Kolejny kolega co uważa, że programuje w języku Visual Stdio.

Głębsze przyjrzenie wskazuje, że mogą powstać aplikacje natywne 32b i 64b (w czystym C/C++) i zarządzane (w kilku językach, w dodatku z "starym" dotnecie i nowym Core).
Każdy przypadek się różni od pozostałych

0

W opcjach projektu wybierasz jaka wersja środowiska uruchomieniowego .NET jest wymagana. Wersje z reguły nie są kompatybilne wstecz. Dawniej była wymagana samodzielna instalacja, obecnie (Windows 10) .NET co najmniej 4.6 jest instalowany wraz z systemem.
Programów dla .NET nie da się uruchomić poza Windows bez wsparcia Mono.

0

Kolejna osoba, która nie ma bladego pojęcia o programowaniu na platformie NET

1

Jeżeli chcesz działać na różnych systemach to zainteresuj się .NET Core.

0

jeśli mowa o .net to Twoja aplikacja wymaga jedynie konkretnej wersji .net zainstalowanej na komputerze (pomijam kwestie zewnętrznych bibliotek). Natomiast to wymagania konkretnej wersji .net niejako określają na jakim systemie można ją zainstalować i pośrednio na jakich systemach można uruchomić Twoją aplikację.

0
Barteker napisał(a):

Nigdy nie zastanawiałem się czy moje aplikacje (.exe) tworzone w Visual Studio będą działać na wszystkich systemach operacyjnych.

A w jakim języku je piszesz?

0

Ten człowiek nie ma bladego pojęcia o ni czym :)

0

Myślę, że raczej chodziło o rodzinę systemów Windows. Pisząc na Windows 10 przy minimalnym frameworku 4.5 nie ma szans aby to zadziałało pod Windows XP. O ile mi się wydaje to chyba o takie aspekty chodzi człowiekowi.

1

Ostatnia wersja która działa na XP to 4.0
ostatnia wersja która działa na Viście to 4.6
najnowsza wersja 4.7.2 wymaga Windows 7 SP1 lub nowszego.

Przy czym większość nowości w tych wersjach >4 to są jakieś nudy które się nawet nie przydadzą w normalnej aplikacji desktopowej, więc pisząc pod 4.0 niewiele się traci (mówię o wersji Frameworka, nie o wersji języka C#, bo to odrębne sprawy).

0

Jeżeli chcesz uzyskać wieloplatformowość, to musisz oddzielnie kompilować na każdą platformę i pisać w .NET Core.
Są dwa rodzaje kompilacj: normalna (odwólująca się do .NET) i portable. Portable nie wymaga .NET, ale zajmuje odpowiednio więcej.

Jeżeli chodzi o Windowsowe GUI, to pisz pod 4.7, ponieważ wspiera skalowanie Windows (aplikacje przy skalowaniu się nie rozmazują) co jest bardzo ważne. Możesz też wydać drugą wersję z najniższym możliwym.

0

Warto tez zwrócić uwagę na funkcje WinApi. Nowsze Windowsy maja ich więcej i czasami jak ich się użyje to na starszych wersjach może niecdzialac. Jest tez odwrotnie - używając specyfiki pewnych starszych systemie jak xp gdzie można z poziomu usługi usera system sięgnąć do pulpitu użytkownika to od visty już to nie zadziała. Generalnie powinnismy być świadomi tego co robimy s kadm odpowie gdzie co jest dostępne.

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