PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie erstellt man kleine "Installationsprogramme" für C++/C# Programme?


Elemental
2004-01-08, 08:10:31
Wie kann ich denn für meine C++ oder C# Applikationen am besten Instalationsprogramme ertstellen?

Für Visual Basic gibts da ja im Visual Studio 6 Enterprise Edition den "Package & Deployment Wizard".


Für C++ und C# scheint aber nix vergleichbares zu existieren, oder?


mfG
Elemental

grakaman
2004-01-08, 08:15:23
In VS.NET gibt es den Projekttyp "Setup- und Weitergabeprojekte". Dort gibt es verschiedene Vorlagen.

MfG

Elemental
2004-01-09, 06:23:02
Werd mal testen, ob ich damit was anfangen kann.
Danke!

Matti
2004-01-10, 15:07:39
wozu brauchst du einen Installer? IdR reicht es doch, wenn du einfach dein Prog und alle benötigten Dateien zippst.

Überhaupt finde ich dieses ganze Installations- und Registry-Zeug total beschissen! Ein Programm muß sofort laufen, wenn man sich's runtergeladen/gekauft hat ... ohne Installation und vor allem ohne den Windows-Ordner und die Registry zuzumüllen! Außerdem ist es zum k*****, wenn man nach einer Neuinstallation von Windows alle Programme neu installieren muß.

Ein Installer ist imo nur sinnvoll, wenn bei der Installation Änderungen an der System-Konfiguration vorgenommen werden müssen. ...aber das muß fast nie sein.

grakaman
2004-01-10, 15:27:13
Original geschrieben von Matti
wozu brauchst du einen Installer? IdR reicht es doch, wenn du einfach dein Prog und alle benötigten Dateien zippst.

Überhaupt finde ich dieses ganze Installations- und Registry-Zeug total beschissen! Ein Programm muß sofort laufen, wenn man sich's runtergeladen/gekauft hat ... ohne Installation und vor allem ohne den Windows-Ordner und die Registry zuzumüllen! Außerdem ist es zum k*****, wenn man nach einer Neuinstallation von Windows alle Programme neu installieren muß.

Ein Installer ist imo nur sinnvoll, wenn bei der Installation Änderungen an der System-Konfiguration vorgenommen werden müssen. ...aber das muß fast nie sein.

Naja, ein Installer ist aber wesentlich benutzerfreundlicher. Außerdem legt ein Installer i.d.R. automatisch Verknüpfungen im Startmenü an. Oder nur bestimmte Benutzer können das Programm starten. Das kannst du zwar auch alles manuell machen, was aber für den unbedarften Nutzer vollkommen unzumutbar ist.
Hinzu kommt, dass man unter Umständen während der Installation bestimmte Aufgaben ausführen muss. Z.B. sich an einem Datenbank Server anmelden, Datenbank erstellen etc. Oder du möchtest während der Installation schon die MSIL in systemeigenen Code kompilieren. Für kleine Tools, die nur auf ein paar wenige private Assemblys zugreifen, braucht man den Installer freilich nicht unbedingt.

MfG

beta3
2004-01-10, 15:35:43
Original geschrieben von Matti
wozu brauchst du einen Installer? IdR reicht es doch, wenn du einfach dein Prog und alle benötigten Dateien zippst.

Überhaupt finde ich dieses ganze Installations- und Registry-Zeug total beschissen! Ein Programm muß sofort laufen, wenn man sich's runtergeladen/gekauft hat ... ohne Installation und vor allem ohne den Windows-Ordner und die Registry zuzumüllen! Außerdem ist es zum k*****, wenn man nach einer Neuinstallation von Windows alle Programme neu installieren muß.

Ein Installer ist imo nur sinnvoll, wenn bei der Installation Änderungen an der System-Konfiguration vorgenommen werden müssen. ...aber das muß fast nie sein.


man muss ja keine registrierungseinträge machen
ich tu das auch ned, weil ich es ******** finde

ausserdem ist es praktisch, wenn man eine anwendung hat, die andere library's nehmen (z.b. directx, tablet....), diese werden dann automatisch reingepackt

man kann da auch den benutzer zwingen die EULA zu zustimmen, sehr wichtig

und man kann auch das .net framework mitliefern, für die pc's die es ned haben
wenn man nur die exe hergibt, dann bekommt er benutzer ne fehlermeldung
so bekommt der benutzer ne meldung, dass er das framework braucht, welches entweder gleich ins setup gepackt werden kann, oder nur ein downloadlink (mach ich immer)

Matti
2004-01-10, 15:38:28
was mich an fast allen Installern stört, ist daß sie den Windows-Ordner und die Registry zumüllen. Außerdem erstellen viele ungefragt Verknüpfungen, die ich gar nicht haben will.

Jedenfalls benötigt keines meiner selbstgeschriebenen Programme einen Installer, runterladen (wenn's mehrere Dateien sind, noch unzippen) und es läuft :)
Irgendwelchen Müll in der Registry hinterlassen meine Progs auch nicht, weil alle Settings in einer Config-File direkt im Programm-Verzeichnis gespeichert werden.

Nagilum
2004-01-10, 15:43:23
Original geschrieben von Matti
was mich an fast allen Installern stört, ist daß sie den Windows-Ordner und die Registry zumülle

Das liegt aber weniger am Installer als viel mehr am Programm selbst. Wenn du z.B. COM benutzt, dann musst du ja fast zwangsläufig entsprechende Einträge in der Registry vornehmen. Und systemweite Libraries brauchen bei Windows nunmal ne zentrale Sammelstelle. Da kann auch der Installer nix dafür.

Matti
2004-01-10, 15:50:26
Original geschrieben von Nagilum
Wenn du z.B. COM benutzt, dann musst du ja fast zwangsläufig entsprechende Einträge in der Registry vornehmen. Und systemweite Libaries brauchen bei Windows nunmal ne zentrale Sammelstelle. Das kann auch der Installer nix dafür.
Eben deshalb versuche ich, möglichst keine ActiveX-Komponenten zu verwenden (mal abgesehen von den Standard-Komponenten, die schon bei Windows dabei sind). Eine DLL kostet zwar ein paar Zeilen mehr Quellcode, ist aber eben sauber. (ja, ich weiß daß manche ActiveX-Controls auch die Endung DLL haben, aber ich meine normale DLLs)

grakaman
2004-01-10, 16:10:12
Original geschrieben von Matti
Eben deshalb versuche ich, möglichst keine ActiveX-Komponenten zu verwenden (mal abgesehen von den Standard-Komponenten, die schon bei Windows dabei sind). Eine DLL kostet zwar ein paar Zeilen mehr Quellcode, ist aber eben sauber. (ja, ich weiß daß manche ActiveX-Controls auch die Endung DLL haben, aber ich meine normale DLLs)


Mir ist schleierhaft warum die Leute immer von "unsauber" reden, wenn etwas komplexer wird.

Matti
2004-01-10, 18:52:44
Original geschrieben von grakaman
Mir ist schleierhaft warum die Leute immer von "unsauber" reden, wenn etwas komplexer wird.
Ich bin der Meinung, daß man immer die einfachste Lösung nehmen sollte, solange sie keine (oder nur unwesentliche) Nachteile gegenüber einer komplizierteren Lösung hat.
...wenn du mit mir darüber diskutieren willst, müßten wir dazu aber einen neuen Thread aufmachen, denn der könnte lang werden ;)

grakaman
2004-01-10, 20:24:15
Original geschrieben von Matti
Ich bin der Meinung, daß man immer die einfachste Lösung nehmen sollte, solange sie keine (oder nur unwesentliche) Nachteile gegenüber einer komplizierteren Lösung hat.
...wenn du mit mir darüber diskutieren willst, müßten wir dazu aber einen neuen Thread aufmachen, denn der könnte lang werden ;)

Ich hab zwar nie COM programmiert, aber ich finde es eher komplizierter den Speicher explizit freizugeben anstatt Reference Counting zu benutzen. Naja und COM+ ist äußerst sinnvoll. Erst kürzlich hätte ich ganz gut Application Recycling gebrauchen können, aber leider geht das erst mit W2k3, weil nur dort COM+ 1.5 vorhanden ist.

MfG

zeckensack
2004-01-10, 20:28:19
Für .NET (wegen C# nehme ich mal an, dass das gemeint ist) kann man keine kleinen Installer machen. Die Runtime muss ja vorhanden sein, damit sowas überhaupt laufen kann.

Für richtige Programme empfiehlt sich NSIS (http://nsis.sourceforge.net/site/index.php). Klein, schnell, grandios.

Exxtreme
2004-01-11, 10:14:51
Daß die Leute nie die Sticky-Threads beachten. ;( ;(

http://80.237.203.42/vbulletin/showthread.php?s=&postid=707298#post707298