Setups basteln
-
Hi Optimizer,
wenn du überhaupt schon mal ein Windows-Pogramm erstellt hast, dann war das
wohl nur Spielerei. Andernfalls wüsstest du nämlich das du ziemlichen Unsinn erzählst.
Mir gefällt das mit dem Zumüllen auch nicht, aber leider erwartet heutzutage
(fast) jedes professionelle Programm das man ne ganze Reihe von Komponenten
mitverteilt damit es auf den verschiedenen Plattformen läuft.mfg JJ
-
John Doe schrieb:
Hi Optimizer,
wenn du überhaupt schon mal ein Windows-Pogramm erstellt hast, dann war das
wohl nur Spielerei. Andernfalls wüsstest du nämlich das du ziemlichen Unsinn erzählst.
Mir gefällt das mit dem Zumüllen auch nicht, aber leider erwartet heutzutage
(fast) jedes professionelle Programm das man ne ganze Reihe von Komponenten
mitverteilt damit es auf den verschiedenen Plattformen läuft.mfg JJ
Blödsinn. Ein Programm braucht keinen Installer, um professionell zu sein. Das wird möglicherweise mit .Net auch verstärkt wieder kommen, dass Installer nicht mehr machen, als Dateien in ein Verzeichnis zu kopieren (das kann ein selbstentpackendes Archiv machen), zumindest ist es das Ziel von Microsoft, den DLL Wahnsinn mit GUIDs und Registry Wahnsinn abzuschaffen. Verfolg mal ein bisschen auch die Longhorn-Entwicklung, dann weißt du, wovon ich spreche...
Und um mir "Spielerei" zu unterstellen hast du keine Grundlage.
-
Optimizer schrieb:
Blödsinn. Ein Programm braucht keinen Installer, um professionell zu sein.
Das ist richtig, aber es braucht einen Installer um Benutzerfreundlich zu sein.
Abgesehen davon, dass Installer eben mehr bieten als nur Entpacken - nämlich Links im Startmenü, Desktop Shortcuts und das wichtigste: deinstallieren über Systemsteuerung -> Software.
Weiters hat man die Möglichkeit abhängigkeiten schön zu testen - läuft das Ding überhaupt unter dieser OS Version, fehlt eine Library, sind alle Libraries in der richtigen Version.. etc.
Also Installer sind nützlich.
-
Klar. Daran besteht kein Zweifel. Es geht mir eigentlich mehr um sowas (vorsicht, stark übertrieben):
Hey yo, mein ultrakrasses TicTacToe ist fertig, jetzt brauch ich nen fetten Installer, damit es rundum professionell ist und 93645 Registry Einträge macht und DLLs registriert, die er nachher nicht mehr entfernt und ...
Die meisten, richtig geilen Tools die ich habe, flacken in meinem home verzeichnis und werden bei Bedarf einfach ausgeführt.
und das wichtigste: deinstallieren über Systemsteuerung -> Software.
Dem kann ich allerdings nicht zustimmen. Das ist mit Abstand das unwichtigste überhaupt. Wenn ich wie bei eclipse einfach nur den Ordner kicken muss ist mir das tausendmal lieber als einen dicken Uninstaller zu starten, der unter Garantie sowieso nicht alles wieder entfernt. Nene... genau das ist es ja, was mich stört.
Weiters hat man die Möglichkeit abhängigkeiten schön zu testen - läuft das Ding überhaupt unter dieser OS Version, fehlt eine Library, sind alle Libraries in der richtigen Version.. etc.
I woaß net... ich kann auch einfach meine dlls mit in das Verzeichnis stecken, meine Güte, dann hab ich halt mal einen DLL doppelt irgendwo auf der Platte rumliegen. Dafür
- ist es weg, wenn ich den Ordner kicke
- gibt es keine Versionsprobleme ("soll die vorhandene Datei (deutsch) entfernt werden und mit der neuen Version (english) ersetzt werden?" blabla?!)Das wird sich in Zukunft ganz bestimmt sogar bei Windows jetzt mal verringern, wenn ich ein .Net Programm schreibe, habe ich meistens alles was ich brauche, wenn ich das Framework habe.
Ne Installer find ich für was anderes praktisch: Wenn ein zip-Programm dann sich im Kontextmenü einträgt, so dass man bequem nen Ordner zippen kann.
-
Natürlich kann ein Programm professionell (genial
) sein auch wenn es nicht
mittels Installer verteilt wird.
Aber allein um diese Sch... Windows-Logo zu erhalten muss es, mittels Windows Installer
installiert werden. Wenn ein Programm nun mal bisschen grösser als ne einzelne
EXE-Datei ist beginnen doch schon die Probleme. Schau dir mal an was ein Programm
zur Laufzeit alles an Komponenten lädt.
In der Praxis gibts nur ein Paar Kommandozeilen-Tools die du allein durch Copy installieren kannst.mfg JJ
-
Erstmal hatte ich nicht vor DX unter linux zu installieren. Das dürfte schwierig werden.... außerdem war das mit DirectX auch nur ein Beispiel. Und es geht auch nicht um ein ultra tictactoe...
Einen Installer brauche ich halt deswegen weil das Projekt DX bzw. in näherer zukunft OpenGL unter Linux benötigt. Es sollte auch eine Variante zum selbercompilieren geben, aber da 70% aller Leute eigendlich nur will das es funktioniert sollte auch eine installer variante angeboten werden, die zu mindest unter windows auch überprüft, ob DX installiert ist. bei OpenGL is das ganze ja nicht so problematisch aber bei DirectX sollte man schon mal vorher gucken. Außerdem werden evtl. auch unter windows diverse C++ runtimes benötigt die auch nicht immer vorhanden sein müssen...@Optimizer: Ich kenne auch den Trent von Windows Loghorn in richtung .NET und DCOM und verfolge auch die Entwicklung (vor allem des neuen Filesystems sehr genau) aber die dll ist dadurch nicht zu ersetzen. Wenn man sich eingehen mit Programmierung beschäftigt kommt man auch mal auf die Idee, dass Shared Librarys in jedem modernen Betriebssystem eine wichtige Rolle spielen und das registrieren und GUIDS und sowas sowiso in erster linie nichts mit der Idee der dll an sich zu tun haben sondern diese Probleme eher von microsoft hausgemacht sind und in manchen fällen auch sehr sinvoll seien können aber halt auch eine sehr zweischneidige sache sein können
-
John Doe schrieb:
Aber allein um diese Sch... Windows-Logo zu erhalten muss es, mittels Windows Installer
installiert werden. Wenn ein Programm nun mal bisschen grösser als ne einzelne
EXE-Datei ist beginnen doch schon die Probleme. Schau dir mal an was ein Programm
zur Laufzeit alles an Komponenten lädt.Kann ich beides nicht so ganz nachvollziehen. Was genau meinst du mit Windows-Logo?
Und warum gibt es Ärger, sobald ich Bibliotheken brauche? Was bei Windows standardmäßig dabei ist, (DirectX) kann ich ohne Probleme ansprechen, alles andere hau ich in das Verzeichnis mit rein. Wenn es von mir selbst geschriebene Komponenten sind, macht es sogar noch weniger Sinn, sie dann fett zu registrieren, selbst wenn ich sie in mehreren Programmen verwende. Wir reden ja hier von binaries! Die sind doch nicht groß, dann hab ich halt 3MB mehr, und das bei ner ganzen CD voll (du wolltest ja ein professionelles Programm...)
-
Du kannst DX aber nur verwenden wenn es installiert wurde, was bei fabrikneuen systemen nicht der Fall ist und um exakt diese Problematik gehts ja die ganze zeit. Außerdem gibt es auch gewisse Probleme bei Programmen die für Win2000 compiliert wurden und unter 98 laufen sollen. Wo der Installer ins spiel kommt. Der könnte dann entscheiden welche runtimes mehr kopiert werden müssen usw. Außerdem würde es wenig sinn machen dlls, die von mehreren Programmen genutzt werden in das Progg verzeichnis zu kopieren (du wolltest ja umbedingt professionelle anwendungen), da sie von anderen Programmen dann nur schwer bis garnich gefunden werden. Jedenfalls wenn du darauf verzichten willst selbst einträge in die registry zu schreiben. Damit wären deine Plattformübergreifenden Programme doch arg eingeschränkt...
Außerdem wie siehts denn bei deinem super kopierprogramm mit multilanguage aus? Da werden immer alle Sprachen automatisch kopieret. Das kann mal schnell unerwünscht sein und könnte im extremfall mit länderspezifischen Grafiken usw. 3MB pro Sprache überschreiten.Und davon abgesehen gibt es Windows Longhorn noch nicht und bis jetzt konnte mir auch noch kein Mensch so ganz genau erklären was .NET alles ist (abgesehen von der Klassenbibliothek). Spätestens was die Klassenbibliothek mit dem .NET passport von MSN zu tun hat wusste keiner mehr. Ich auch nich aber so schrecklich wichtig kanns ja nich sein. Irgendwie gings bis jetzt ja auch ohne .net und ich glaube ehrlichgesagt nicht das es ab morgen plötzlich eine so große Rolle in der praktischen programmierung spielen wird (wofür gibs schließlich IDEs wie CBuilderX die dir die arbeit mit diesen ganzen gemeinen Sachen abnehmenn :))
-
Ähm wo ist da die Problematik bitteschön?? Dann soll mein Spiel anzeigen "Bitte DirectX 9.0 oder höher installieren".
Natürlich ist das für wirklich professionelle und vermarktete Spiele keine Option, weil die ganzen Kinder das ja nicht auf die Reihe kriegen. Aber wir müssen jetzt ja nicht unbedingt Spiele betrachten, oder? Ich habe auch nichts dagegen, wenn Photoshop installiert wird. Oder ne JVM. Aber was mich langweilt, sind kleine Kiddie-Tools, die dann mit nem Installer ankommen, der drei mal so fett ist, wie das Programm selber.
Bei den meisten Programmen wirst du wohl nicht gerade DirectX vermissen, sondern vielleicht ne Socket-Lib. Da kannst du dann die kleine DLL auch in das Verzeichnis reintun.
Ich kenne auch den Trent von Windows Loghorn in richtung .NET und DCOM und verfolge auch die Entwicklung (vor allem des neuen Filesystems sehr genau) aber die dll ist dadurch nicht zu ersetzen.
Darum gehts nicht. Es geht darum, dass die DLLs in der Regel dann mit ins Verzeichnis kommen. .Net Code ist eh nochmal viel kleiner und das GUID-System wird definitiv ersetzt. Ersatz kommt in Form des Assembly-Caches, aber der wird ganz bestimmt weit weniger häufig in Anspruch genommen werden.
Wenn ich sage, ich mag "Installer" nicht, dann mein ich damit nicht irgendwie ein Archiv, was sich entpackt und vielleicht noch ne Verknüpfung auf dem Desktop platziert. Das stört mich nicht und mehr ist auch nciht nötig, in Zukunft sogar noch weniger.
-
Optimizer schrieb:
Dem kann ich allerdings nicht zustimmen. Das ist mit Abstand das unwichtigste überhaupt. Wenn ich wie bei eclipse einfach nur den Ordner kicken muss ist mir das tausendmal lieber als einen dicken Uninstaller zu starten, der unter Garantie sowieso nicht alles wieder entfernt. Nene... genau das ist es ja, was mich stört.
Für dich. Aber nicht für einen 08/15 standard user. Der deinstalliert über Software - dateien löschen trauen sich viele nicht.
oder zumindest auf uninstall in dem ordner klickenI woaß net... ich kann auch einfach meine dlls mit in das Verzeichnis stecken, meine Güte, dann hab ich halt mal einen DLL doppelt irgendwo auf der Platte rumliegen. Dafür
- ist es weg, wenn ich den Ordner kicke
- gibt es keine Versionsprobleme ("soll die vorhandene Datei (deutsch) entfernt werden und mit der neuen Version (english) ersetzt werden?" blabla?!)Hast dafür redundanzen im system. naja, jede java anwendung installiert sich ja auch die jre in das eigene verzeichnis... es scheint also ne simple lösung zu sein - aber IMHO doof. Gut, aber die DLL Hell ist sowieso böse
Aber zumindest Kompatibilität mit dem System kann man checken.
Das wird sich in Zukunft ganz bestimmt sogar bei Windows jetzt mal verringern, wenn ich ein .Net Programm schreibe, habe ich meistens alles was ich brauche, wenn ich das Framework habe.
Ne Installer find ich für was anderes praktisch: Wenn ein zip-Programm dann sich im Kontextmenü einträgt, so dass man bequem nen Ordner zippen kann.[/quote]
-
mein lieblingsinstaller:
http://www.jrsoftware.org/isinfo.phpgui dazu:
http://www.istool.org/default.aspx/zur diskussion:
am besten isses doch wenn sowohl ein installer als auch ein zip/rar/tar archiv angeboten wird
dann sin alle glücklich
-
Hast dafür redundanzen im system. naja, jede java anwendung installiert sich ja auch die jre in das eigene verzeichnis... es scheint also ne simple lösung zu sein - aber IMHO doof. Gut, aber die DLL Hell ist sowieso böse
Aber zumindest Kompatibilität mit dem System kann man checken.
Ist doch bei java nicht viel anders als bei .Net. Das meiste was du brauchst, hast du eh. Und wenn du ne zusätzliche lib als .jar file brauchst dann tust sie in das verzeichnis. Keinen interessiert das, wenn du ein .jar, was maximal 1MB groß ist, nochmal hast. Dafür kannst du einfach das Verzeichnis kicken.
Bytecode bzw. MSIL ist ja eh wahnsinnig klein. Die Buchführung und der ganze DLL Wahnsinn lohnt sich dafür einfach nicht.am besten isses doch wenn sowohl ein installer als auch ein zip/rar/tar archiv angeboten wird
dann sin alle glücklichJa, ist bestimmt nicht verkehrt. Ich bin definitiv glücklich, wenn ich die Möglichkeit hab, einfach was auszupacken.
-
Optimizer schrieb:
Hast dafür redundanzen im system. naja, jede java anwendung installiert sich ja auch die jre in das eigene verzeichnis... es scheint also ne simple lösung zu sein - aber IMHO doof. Gut, aber die DLL Hell ist sowieso böse
Aber zumindest Kompatibilität mit dem System kann man checken.
Ist doch bei java nicht viel anders als bei .Net. Das meiste was du brauchst, hast du eh. Und wenn du ne zusätzliche lib als .jar file brauchst dann tust sie in das verzeichnis. Keinen interessiert das, wenn du ein .jar, was maximal 1MB groß ist, nochmal hast. Dafür kannst du einfach das Verzeichnis kicken.
Bytecode bzw. MSIL ist ja eh wahnsinnig klein. Die Buchführung und der ganze DLL Wahnsinn lohnt sich dafür einfach nicht.Er meinte, "große" Java-Anwendungen bringen meist ihre eigene JRE mit.
Da fallen mir spontan die Borland "JBuilder" Produkte ein. Interessiert den nicht ob Du ein JDK5 irgendwo hast, der installiert sein eigenes in XX/jre ...
-
Sgt. Nukem schrieb:
Er meinte, "große" Java-Anwendungen bringen meist ihre eigene JRE mit.
Da fallen mir spontan die Borland "JBuilder" Produkte ein. Interessiert den nicht ob Du ein JDK5 irgendwo hast, der installiert sein eigenes in XX/jre ...Oh verdammt, sorry.
Ja, das mag ich auch nicht.
-
Aber das ist genau das, wovon du redest.
Wird etwas benötigt, schicken wir's einfach mal mit.
Wie wäre es, wenn jede DirectX Anwendung eigenes DirectX mitbringt?Desweiteren:
DU kannst mit Computern umgehen.
DU weisst was du machen kannst.
DU weisst was zu tun is wenns net läuft.
DU weisst[...]
Man kann diese Liste mit Sicherheit noch weiterführenABER: Du bist auch kein DAU.
DAU's wissen nicht was sie alles machen können.
DAU's wissen nicht was zu tun ist wenn etwas nicht läuft.
DAU's wissen nicht[...]
Auch diese Liste is erweiterbar...Und wenn man eine Anwendung veröffentlicht sollte es auch ein DAU schaffen damit umzugehen/es zum laufen zu kriegen.
Und genau dafür braucht man Installier, die Bedingungen Prüfen können und dmentsprechend Komponenten mitinstalliert.Und wenn ein Installer der bedingngen Prüfen kann, 3mal mehr kann(auf die grösse kann es sich ja nich beziehen, wenn du immer alle DLL's mitliefern willst) als deine Anwendungen oder die Anwendungen, die du benutzt, dann verstehe ich das du keinen installer bruachst. (copy/cp is schliesslcih in jedem OS gleich mit drin... und selbst das kann Sachen prüfen[Wildcards])
-
Das ist aus 2 Gründen nicht vergleichbar.
- DirectX ist ein System-API und auf jeden System deshalb genau einmal vorhanden. Ebenso wie eine VM das sein soll. Hingegen ist der MySQL Treiber, den ich für mein Java-Programm verwende ein kleines, 200kb Archiv, wo ich gerne darauf verzichten kann, nochmal 200kb an Registry Müll dafür zu erzeugen. Alles, was allgemein mit SQL zu tun hat gibts eh schon im Java API.
- Hab ich nicht gesagt, dass irgendwas dagegen spricht, ein selbstextrahierendes Archiv anzubieten. Aber nen Ordner löschen sollte doch dann jeder schaffen. Sogar das dümmste Spielkind. Und wenn nicht, dann soll es das verdammt nochmal lernen. Wenn wir uns in der ganzen Diskussion nicht so auf Windows beschränken würden, wäre der Fall noch viel klarer.
-
Installer sind doch ok wenn sie eben nicht alles vollmüllen und wenn sie *alles* entfernen können was die Anwendung anlegt.
-
Vernochan schrieb:
DAU's wissen nicht was sie alles machen können.
DAU's wissen nicht was zu tun ist wenn etwas nicht läuft.
DAU's wissen nicht[...]Da fällt mir ein... Deppenapostroph.
Ja, ich habe den War verloren...
-
das beste wär doch an sich ein installerarchiv rauszugeben das winrar entpacken kann, für den fall dass es auch ohne installation läuft
meine setups legen in der regel eh nur verknüpfungen im startmenü an weil ich die registry ned sonderlich mag
-
also ich kenn leute, die nicht mal wissen, wie man das verzeichnis zu einem programm findet, wie sollen die dann einen ordner löschen, geschweige denn dateien in diesen ordner kopieren. Man sollte einen Installer liefern, wenn man weiß, dass nachher genau solche leute versuchen dieses programm zu installieren.