Autor Beitrag
Kirk1701A
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 113
Erhaltene Danke: 3

Linux, Ubuntu, Mac, IOS, Android (4.2.x - 9.x.x), Win Mob., Micro. DOS, Win 95, Win 98, Win 2000, Win ME, Win XP, Win Vista, Win 7, Win8.1, Win 10
C# (VS 2017 Community/Enterprise, VS 2019 Professional/Enterprise), VB (VBA), JavaScript
BeitragVerfasst: Mo 06.11.17 16:57 
Hi Leute,

ich weiss, ich nerve, aber ich bin im ersten Azubi-Jahr und noch sehr unerfahren. Ich wollte für meinen vor kurzem fertig gestellten Sternzeitrechner ein Setup erstellen, aber ich will dieses InstallShield nicht runterladen (muss erst genehmigt werden; Dauer: 1 - 2 Wochen). Kann man ein Setup selber erstellen und wenn ja, wie?

Euer Kirk

P.S.
Danke für eure Geduld...

Moderiert von user profile iconTh69: Vulgär-Ausdruck entfernt.
Moderiert von user profile iconChristian S.: Topic aus WPF / Silverlight verschoben am Mo 06.11.2017 um 16:02

_________________
"Ich war es und werde es immer bleiben... Ihr Freund!"
@Spock -> Star Trek II: Der Zorn des Khan
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4148
Erhaltene Danke: 858

Win10
C#, C++ (VS 2015/17)
BeitragVerfasst: Mo 06.11.17 17:14 
Bei Visual Studio 2010 gab es noch selber ein Setup-Projekt: Gewusst wie: Erstellen oder Hinzufügen eines Setup-Projekts

Für VS 2015 und 2017 jedoch nur noch als Add-On: Microsoft Visual Studio 2015 Installer Projects

Kannst du denn nicht selber etwas bei deinem Firmenrechner installieren (und vorher dann per E-Mail oder USB-Stick auf den Rechner kopieren)?
Palladin007
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1204
Erhaltene Danke: 158

Windows 10 x64 Home Premium
C# (VS 2015 Enterprise)
BeitragVerfasst: Mo 23.04.18 17:20 
Ich hab in meiner Ausbildung ein bisschen mit InstallShield gearbeitet und mein Eindruck: Für die meisten Anwendungsfälle völlig überdimensioniert

Kleinere Konzepte findest Du in der Antwort von Th69 - oder Du nimmst ein selbst entpackendes RAR-Paket als "Installer".
Sieht zwar nicht so toll aus, aber in den meisten Fällen reicht das einfach aus.

Ich persönlich finde aber, dass eine Anwendung keinen Installer bekommen sollte, wenn er nicht zwingend notwendig ist.
Wenn ich dein "Sternzeitrechner" lese, wüsste ich nicht, wovon deine Anwendung abhängig sein sollte, dass ein Installer oder entsprechender Code im Programm notwendig ist. Das Einzige, was dein Installer tun könnte, wäre also die notwendigen Dateien in ein Programme-Verzeichnis kopieren und fertig.

Solche Installer sind aus meiner Sicht ziemlich nutzlos bzw. unnötig. Da greife ich dann lieber zu Tools, welche alle deine Assemblies in eine einzelne Datei zusammenlegen. Andere Dateien legst Du dann nicht als Dateien neben die exe, sondern als Ressource in die exe.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 18784
Erhaltene Danke: 1643

W10 x64 (Chrome, IE11)
Delphi 10.2 Ent, Oxygene, C# (VS 2015), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 24.04.18 07:02 
user profile iconPalladin007 hat folgendes geschrieben Zum zitierten Posting springen:
Solche Installer sind aus meiner Sicht ziemlich nutzlos bzw. unnötig.
Es ist aber einfacher schnell ein Setup auszuführen, das alles Notwendige erledigt inkl. Verknüpfungen und Eintrag zum Deinstallieren usw. als wenn ich ein Archiv herunterladen muss, es manuell entpacken muss, an die richtige Stelle legen muss, die Verknüpfungen erstellen muss und dann noch einen Knoten ins Taschentuch machen muss, damit ich nicht vergesse, dass es an der Stelle liegt... (In der Liste der installierten Software fehlt es dann ja)

Bei einem .NET Tool sollte der Installer aber auch noch ggf. die korrekte .NET Version herunterladen und installieren, ansonsten würde auch schlicht ein Tool wie InnoSetup gehen, das du woanders installieren und das Verzeichnis schlicht kopieren kannst. Allerdings vermute ich, dass du auch das nicht unbedingt ohne Genehmigung darfst, oder?

Ein solches Tool ganz selbst zu erstellen würde ich nicht empfehlen. Denn das hält sich dann kaum an die Systemstandards und wäre daher nicht wirklich sinnvoll.
doublecross
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 149
Erhaltene Danke: 27

Windows 7
C#; Visual Studio 2015
BeitragVerfasst: Di 24.04.18 14:43 
Hallo,

das Thema ist leider viel komplizierter als man es haben möchte. Generell ist ein Setup leider oft mehr als nur ein paar Dateien irgendwo hin kopieren.

Da muss man eventuell..

  • Vorrausetzungen überprüfen, (läuft mein Programm überhaupt auf der verwendeten Windows Version, ist das benötigte .NET Framework auch installiert...)
  • Auf eventuelle Probleme reagieren (das benötigte .NET Framework herunterladen und installieren bevor man das eigene Programm installiert).
  • Den (wie immer völlig überforderten user) ermöglichen einen Ort zu wählen wo das das Programm hinkopiert werden soll (Potentiell Optional)
  • Dem (immernoch nicht Computer affineren User) ermöglichen das Programm zu starten (Startmenüeinträge, Desktop Verknüpfungen usw,)
  • Dem User (sofern er weiß warum er soetwas tun sollte) ermöglichen das Programm auch wieder zu Deinstallieren.
  • Eventuelle Dateiverknüpfungen im System registrieren
  • Verhindern, dass das Programm 2x auf dem gleichen System installiert wird
  • ...


Das mag sein, dass nur wenige dieser Punkte auf dein momentanes Projekt zutreffen, aber je umfangreicher diese Projekte werden, desto mehr solcher Aufgaben muss das Setup übernehmen. Daher würde ich dringend abraten so etwas selbst programmieren zu wollen, dass ist ein Fass ohne Boden. Ein Projekt, dass das gemacht hat ist Inno Setup vielleicht reicht es dir ja für den Anfang dieses zu verwenden.

State of the Art ist Inno Setup aber lange nicht mehr.
Microsoft hat mit MSI ein eigenes Setup Format geschaffen, welches alle Belange zu diesem Thema erschlagen soll (Spoiler: Es ist nicht gelungen).
Das von user profile iconTh69 Add-On fürs Visual Studio erzeugt MSI-Files. Leider ist es schon seit Jahren fehlerhaft uns wird scheinbar auch nicht mehr betreut. Wenn man in einem damit erzeugten Setup den Ziepfad auf ein anderes Laufwek ändert, also z.B. von "C:\Programme\MeinProgramm" auf "D:\Programme\MeinProgramm" wird alles stumpf in den Hauptverzeichnis des angegebenen Laufwerks kopiert (also in dem Beispiel nach "D:\").

Ein anders kostenlosen Tool um MSI Dateien zu erstellen wäre das WiX-Toolset. Ich habe es mir vor Jahren einmal angesehen und fand es furchtbar kompliziert (wie naktes MSI übrigens auch). Eventuell kommst du aber besser damit klar.

Ich erwähnte, dass es Microsoft nicht gelungen ist, mit MSI wirklich alle Belange die an ein Setup gestellt werden, zu erfüllen. So ist es z.B. mit reinem MSI nicht möglich Prerequires anständig zu installieren, also z.B. das oben genannte Beispiel ein .NET Framework zu installieren, wenn dies für die Anwendung benötigt wird.

Deshalb gehen die gängigen Setup Lösungen heutzutage einen Mittelweg. Sie erzeugen ein MSI, um in der Microsoft Welt möglichst kompatibel zu sein, für alles was MSI nicht kann erzeugen sie eine EXE Datei (Bootstrap), die je nach Wunsch neben die MSI gelegt oder mit dieser verlinkt wird. Wenn man nun die Setup.exe startet, dann erledigt sie erst alles was MSI nicht kann und startet dann transparent das MSI, so das der user nicht merkt, dass er eigentlich mit 2 Programmen arbeitet.

Das von dir genannte Insallshield macht das meines Wissens so und der mittlerweile ähnlich erfolgreiche Advanced Installer ebenso.

Von letzteren gibt es auch eine Freeware Edition, welche du kostenlos verwenden darfst. Diese bietet nur sehr wenige Funktionen, aber für dein erstes Programm könnte es ausreichen.
Wenn deine Firma dann irgendwann größere Projekte vertreiben möchte, wird sie wahrscheinlich irgendwann ein paar tausend Euro in eine größere Version eines solchen Produktes stecken müssen.

Endkunden ist etwas komplizierteres als eine Setup Datei meist nicht zuzumuten (was ich auch Ok finde, es muss ja nicht jeder Informatiker sein und es ist unsere Aufgabe das ganze so einfach wie möglich für den user zu machen).