WinFuture-Forum.de: Kompatibilität Für Verschiedene Betriebssysteme Sicherstellen? - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 2 Seiten +
  • 1
  • 2

Kompatibilität Für Verschiedene Betriebssysteme Sicherstellen?


#1 Mitglied ist offline   FGRT 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 30. Januar 08
  • Reputation: 0

geschrieben 08. Februar 2008 - 13:39

Hallo,

mich würde mal interessieren, wie Hobbyprogrammierer eigentlich die Kompatibilität für verschiedene Betriebssysteme (vorallem unterschiedliche Windows-Versionen) sicherstellen bzw. herstellen.

Ich kann mir nämlich irgendwie nicht vorstellen, dass jeder jetzt Win95-WinVista zuhause hat oder?
Wenn ich jetzt z.B. nur Xp habe, wie könnte ich dann Optimierungen vornehmen, wenn jemand einen Fehler bei Windows 95 oder Vista meldet?

Danke für Antworten!
0

Anzeige



#2 Mitglied ist offline   tavoc 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.448
  • Beigetreten: 22. Juli 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 08. Februar 2008 - 13:55

Du könntest mittels VMware verschiedenen Testsysteme aufsetzen.

So hab ich ein 98, XP, Vista und Server 2003.

Wenn du jedoch plattformunabhängig programmieren willst, dann schau dir die Sprachen Java, C# bzw C++ (dort muss jedoch neu kompiliert werden) an
your IP is 127.0.0.1 or ::1
you are running an OS
you use a Browser
I know so much about you...
0

#3 Mitglied ist offline   FGRT 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 30. Januar 08
  • Reputation: 0

geschrieben 08. Februar 2008 - 14:21

Danke für die schnelle Antwort!

Joa, das mit einer virtuellen Maschine umzusetzen ist mir auch schon in den Sinn gekommen, nur besitze ich eben nur XP und ich würde es irgendwie nicht einsehen nur für eine Kompatibilitätsgeschichte mir die anderen Windows-Varianten auch anzuschaffen.
Gleichzeitig will ich aber keine Benutzergruppe ausschließen. Außerdem wäre ein XP-Only-Support etwas mager irgendwo oder wie seht ihr das?

Gibt es keine andere, minimalistischere Möglichkeit, wie z.B. den XP-eigenen Kompatibilitätsmodus?
0

#4 Mitglied ist offline   tobiasndw 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.815
  • Beigetreten: 24. September 03
  • Reputation: 0
  • Geschlecht:Männlich

geschrieben 08. Februar 2008 - 14:23

Wenn man zb. mit dem .Net Framework programmiert hat das den Vorteil für die Windowsprogrammierung das die Kompatiblität für alle Windows-Versionen so gut wie automatisch sichergestellt ist, bis auf ein paar spezielle Ausnahmen. Die .Net Anwendungen kompilieren sich beim ersten Start auf dem Ziel-PC nämlich selbst.
0

#5 Mitglied ist offline   FGRT 

  • Gruppe: Mitglieder
  • Beiträge: 8
  • Beigetreten: 30. Januar 08
  • Reputation: 0

geschrieben 08. Februar 2008 - 14:35

Hm, dann werde ich mich wohl am Besten mal mit .Net oder ggf. einer anderen Laufzeitumgebung auseinandersetzen. Ich fänds nämlich wirklich ein wenig blöd Unmengen an Betriebssystemen besitzen und installiert haben zu müssen, nur um die Kompatibilität zu wahren.

Ironischerweise fand ich es früher selbst immer schlimm genötigt zu werden diese REs zu installieren, aber aus programmiertechnischer Sicht liegt der Vorteil ja jetzt mehr oder weniger klar auf der Hand. :smokin:

Danke nochmal!
0

#6 Mitglied ist offline   def 

  • Gruppe: aktive Mitglieder
  • Beiträge: 429
  • Beigetreten: 19. Dezember 06
  • Reputation: 7
  • Geschlecht:Männlich

geschrieben 13. Februar 2008 - 02:05

Naja, inwieweit das von Dir angesprochene Problem bezüglich der Kompatibilität mit alten Windows-Versionen mit .NET tatsächlich gelöst wird, ist durchaus fraglich. Zum einen zwingst Du die Benutzer Deiner Programme natürlich dazu, erstmal ein Framework herunterzuladen und zu installieren, was manche Benutzer möglicherweise nicht möchten.
Zum anderen ist auch .NET selbst nicht zu alten Windows-Versionen kompatibel, und die verschiedenen .NET-Versionen untereinander auch nicht unbedingt. Zumindest Microsofts .NET-Framework läuft meines Wissens nicht unter Windows 95, und nur die Versionen bis einschließlich .NET 2.0 laufen unter Windows 98. Ansonsten müssen die Benutzer auf eine andere .NET-Implementierung ausweichen, z.B. Mono oder DotGNU Portable.NET, die - hoffentlich - noch unter Windows 95 laufen. Wie kompatibel diese zu Microsofts .NET sind, ist natürlich eine andere Frage, die sich wohl nur durch Testen beantworten lässt.
Bei Java dürfte es ähnlich aussehen: Die neuesten Versionen sind natürlich die besten und schnellsten, und die Klassenbibliothek ist am weitesten entwickelt, allerdings laufen diese Versionen - bezogen auf Windows - auch nur noch mit Windows 2000, XP und Vista. Du müsstest also auf eine ältere Java-Version ausweichen, um Windows 95 zu unterstützen, nämlich Java 1.3.1. Der damit generierte Code sollte auch mit den neuesten Java-Versionen laufen.
Wenn das alles okay für Dich ist, dann lass Dich nicht aufhalten.

Wenn Du dagegen kein Framework voraussetzen willst, dann benutze (wenn Du in C oder C++ programmieren willst) z.B. den MinGW-Compiler (ich weiß aus eigener Erfahrung, dass die damit erzeugten EXE-Dateien prinzipiell unter Win95 laufen) und beschränke Dich auf die Funktionen, die zu Windows 95 kompatibel sind. Diese findest Du natürlich im Microsoft Developer Network (MSDN). Dort gibt es auch eine Suchfunktion, allerdings erfordert dies Grundkenntnisse bezüglich Win32-Programmierung. Achte bei jeder Funktion, die Du benutzen willst, auf die Angabe unter "Minimum operating systems". Man kann auch die OS-Version abfragen und danach verschiedene Funktionen aufrufen oder vermeiden. Suche unter MSDN einfach mal nach OSVERSIONINFO.

Gruß
Def
Eingefügtes Bild
0

#7 Mitglied ist offline   bLaCkRaBbIt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.433
  • Beigetreten: 08. November 04
  • Reputation: 2
  • Geschlecht:Männlich
  • Wohnort:Karlsbad

geschrieben 13. Februar 2008 - 03:47

Zitat

Die .Net Anwendungen kompilieren sich beim ersten Start auf dem Ziel-PC nämlich selbst.

das ist nicht korrekt bzw. nur eine spezielle methode, die ich aber nicht einsetzten würde. .net arbeitet in aller regel mit einem just-in-time compiler.

Zitat

Ironischerweise fand ich es früher selbst immer schlimm genötigt zu werden diese REs zu installieren, aber aus programmiertechnischer Sicht liegt der Vorteil ja jetzt mehr oder weniger klar auf der Hand.

naja, musst du nicht immer. bei xp, vista und windows server 2003 sind schon .net framework versionen enthalten. allerdings musst du aufpassen, dass z.b. das .net framework 3.0 nur noch ab xp oder höher läuft. damit deine programme also auch auf älteres betriebbsystemen lauffähig sein können, dürfen diese nur auf niedrigeren versionen basieren. windows 95 wird aber in keinem fall mehr unterstützt. generell gilt, dass alle versionen ab 2.0 aufwärtskompatibel sind. mit dem vs2008 kannst du auch speziell für bestimmte framework versionen programmieren.

Dieser Beitrag wurde von bLaCkRaBbIt bearbeitet: 13. Februar 2008 - 03:57

0

#8 Mitglied ist offline   tavoc 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.448
  • Beigetreten: 22. Juli 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 13. Februar 2008 - 08:55

Beitrag anzeigenZitat (def: 13.02.2008, 02:05)

Naja, inwieweit das von Dir angesprochene Problem bezüglich der Kompatibilität mit alten Windows-Versionen mit .NET tatsächlich gelöst wird, ist durchaus fraglich. Zum einen zwingst Du die Benutzer Deiner Progra....

Wer kein .NET Installiert ist meiner Meinung nach selten dämlich, da viele Programme es nutzen, warum gibts dann keine Leute die sich Suns Java nicht installieren? Ist doch genau das gleiche und noch viel langsamer ....
your IP is 127.0.0.1 or ::1
you are running an OS
you use a Browser
I know so much about you...
0

#9 Mitglied ist offline   def 

  • Gruppe: aktive Mitglieder
  • Beiträge: 429
  • Beigetreten: 19. Dezember 06
  • Reputation: 7
  • Geschlecht:Männlich

geschrieben 13. Februar 2008 - 11:57

Beitrag anzeigenZitat (bLaCkRaBbIt: 13.02.2008, 03:47)

(...) bei xp, vista und windows server 2003 sind schon .net framework versionen enthalten.(...)


Windows Xp enthält meines Wissens ab Werk kein .NET-Framework, auch nicht mit SP1&Sp2 (bei kommendem SP3 weiß ich es allerdings nicht). Da das .NET-Framework auch kein sicherheitsrelevantes Update ist, muss man es wohl manuell installieren.
Windows Server 2003 enthält vorinstalliert nur .NET 1.1.
Windows Vista dagegen .NET 3.0.
Wenn Du abweichende Informationen hast, wäre ich an Einzelheiten sehr interessiert.

Edit: Laut Wikipedia enthält Vista nur .NET 3.0. Dagegen wurde .NET 3.5 erst später mit Visual Studio 2008 freigegeben. Ist zwar in Bezug auf das vorliegende Thema nicht sonderlich wichtig, aber ich wollte hier auch keine falschen Sachen stehen lassen, daher habe ich das mal korrigiert.

Gruß
Def

Dieser Beitrag wurde von def bearbeitet: 13. Februar 2008 - 13:15

Eingefügtes Bild
0

#10 Mitglied ist offline   def 

  • Gruppe: aktive Mitglieder
  • Beiträge: 429
  • Beigetreten: 19. Dezember 06
  • Reputation: 7
  • Geschlecht:Männlich

geschrieben 13. Februar 2008 - 12:20

Beitrag anzeigenZitat (tavoc: 13.02.2008, 08:55)

Wer kein .NET Installiert ist meiner Meinung nach selten dämlich, da viele Programme es nutzen, warum gibts dann keine Leute die sich Suns Java nicht installieren? Ist doch genau das gleiche und noch viel langsamer ....


Ich werde mich jetzt sicherlich nicht mit Dir darüber streiten. :)
Zumal Dir wahrscheinlich klar ist, dass ich dem Benutzer "FGRT", der ursprünglich ja die Frage gestellt hatte, nur weitere und präzisere Informationen geben wollte. Was er jetzt daraus macht, ist natürlich seine Sache. Und ob man von seinen Benutzern fordern kann, .NET zu installieren, und was die Gründe dafür sein können, wenn man sich weigert, dies zu tun, sind Fragen, die schon an anderen Stellen im Internet diskutiert worden sind (ein nicht mehr ganz aktuelles von vielen Diskussions-Beispielen in einem anderen Forum).
Zumindest mit zunehmender Verbreitung von Windows Vista wird sich in den nächsten Jahren sicherlich auch das .NET-Framework stärker verbreiten. Ob die Verbreitung momentan schon stark genug ist, muss jeder einzelne Programmierer für sich entscheiden; mir liegen keine definitiven Zahlen vor. Es ist wohl ein bisschen wie bei den Webdesignern, die auch immer wieder vor der Frage stehen, inwieweit sie neue Technologien benutzen können oder lieber alte Browser unterstützen wollen.

Gruß
Def
Eingefügtes Bild
0

#11 Mitglied ist offline   Lofote 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.526
  • Beigetreten: 24. August 04
  • Reputation: 1

geschrieben 13. Februar 2008 - 12:44

Zitat

C++ (dort muss jedoch neu kompiliert werden)

Hä? Wieso sollte ein C++-Programm neu kompiliert werden müssen?

Zitat

Windows Xp enthält meines Wissens ab Werk kein .NET-Framework,

Richtig.
0

#12 Mitglied ist offline   Witi 

  • Gruppe: aktive Mitglieder
  • Beiträge: 5.947
  • Beigetreten: 13. Dezember 04
  • Reputation: 43
  • Geschlecht:Männlich
  • Wohnort:Kingsvillage
  • Interessen:Frickeln

geschrieben 13. Februar 2008 - 12:52

Zitat

Hä? Wieso sollte ein C++-Programm neu kompiliert werden müssen?

Bei Änderungen muss man in der Regel jedes Programm, das in einer Kompilersprache entwickelt wurde, neu kompilieren.

Ich denke mal, worauf er hinaus will ist, dass man z.B. bei Java ein Programm nur einmal kompilieren muss. Bei C++ hingehen muss man für jedes OS eine eigene Binary kompilieren.
0

#13 Mitglied ist offline   bLaCkRaBbIt 

  • Gruppe: aktive Mitglieder
  • Beiträge: 1.433
  • Beigetreten: 08. November 04
  • Reputation: 2
  • Geschlecht:Männlich
  • Wohnort:Karlsbad

geschrieben 13. Februar 2008 - 15:19

Zitat

Edit: Laut Wikipedia enthält Vista nur .NET 3.0. Dagegen wurde .NET 3.5 erst später mit Visual Studio 2008 freigegeben. Ist zwar in Bezug auf das vorliegende Thema nicht sonderlich wichtig, aber ich wollte hier auch keine falschen Sachen stehen lassen, daher habe ich das mal korrigiert.

hatte ich ja auch nichts anderes gesagt. kann auch nicht anders sein, wenn man bedenkt, dass das .net framework 3.5 erst letztes jahr im november veröffentlicht wurde.

zu windows xp: also keine garantie, aber winxp inkl. sp2 beinhalten doch schon das .net framework. hatte es zumindest so im kopf. benutze es aber schon lange nicht mehr. auf jeden fall müsste es dann als optionale komponente bei den updates angeboten werden.

und zum thema .net framework installieren: da inzwischen derartig viele programme darauf basieren, ist es mindestens genauso wichtig wie jre
0

#14 Mitglied ist offline   tavoc 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.448
  • Beigetreten: 22. Juli 04
  • Reputation: 1
  • Geschlecht:Männlich

geschrieben 13. Februar 2008 - 16:24

Beitrag anzeigenZitat (Witi: 13.02.2008, 12:52)

Bei Änderungen muss man in der Regel jedes Programm, das in einer Kompilersprache entwickelt wurde, neu kompilieren.

Ich denke mal, worauf er hinaus will ist, dass man z.B. bei Java ein Programm nur einmal kompilieren muss. Bei C++ hingehen muss man für jedes OS eine eigene Binary kompilieren.



Ja genau, so meinte ich das :(

Schwierig wird es dann vorallem wenn du OS spezifische Bibliotheken verwendest.
your IP is 127.0.0.1 or ::1
you are running an OS
you use a Browser
I know so much about you...
0

#15 Mitglied ist offline   Mindhunter2202 

  • Gruppe: aktive Mitglieder
  • Beiträge: 31
  • Beigetreten: 02. Mai 07
  • Reputation: 0

geschrieben 13. Februar 2008 - 16:37

Also ich entwickle seit fast 3 Jahren Produkte die das .Net Framework verwenden und bei unseren Kunden war das noch nie ein Problem. Da sind sehr wohl internationale Konzerne dabei, und da interessiert es niemanden, ob er jetzt eine Runtime Engine braucht oder nicht.
Unterstützung für Windows 95? Sorry aber ich unterstütz doch kein Uralt OS. Was kommt denn als nächstes? Win 3.11? DOS? Kompatibilität ist ok aber man braucht es echt nicht übertreiben!!!

Zur Frage, was man denn am besten nehmen soll (.NET, Java,...): Das beste Produkt für die jeweilige Aufgabe, ist doch klar!
Nach meiner persönlichen Erfahrung ist die .NET Community überaus gross und sehr hilfsbereit. Es gibt auch mittlerweile haufenweise gute Bücher für Einsteiger.

Wirklich Plattformübergreifend ist allerdings nur Java. Mono (.NET Framework Version für Linux) ist noch immer nicht ausgereift und verwendet nur eine verhältnismässig kleine Teilmenge des .NET Framework...
0

Thema verteilen:


  • 2 Seiten +
  • 1
  • 2

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0