Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Auswahl eines Setup-Programmes für die eigene Applikation
BerndFfm
myCSharp.de - Team

Avatar #gvp27cjXxMEZQuCpk4WQ.jpg


Dabei seit:
Beiträge: 3737
Herkunft: Frankfurt a.M.

Themenstarter:

Auswahl eines Setup-Programmes für die eigene Applikation

beantworten | zitieren | melden

Hallo,

für 2 Applikationen benötige ich ein Setup-Programm, um diese per DVD und per Internet-Download zur Verfügung zu stellen.

Meine Anforderungen :
  • Ein paar Programmdateien kopieren
  • Eine Verknüpfung mit Icon anlegen
  • Auf Framework 2.0 prüfen und dieses ggf. installieren
  • Auf Framework 3.5 prüfen und dieses ggf. installieren (2. Applikation)
  • Auf SQL Express prüfen und diesen ggf. installieren

Die ersten beiden Punkte kann jedes Setup-Programm. Doch dann wird es spannend !

Bis VS 2010 habe ich mit einem Setup-Projekt gearbeitet und war eigentlich auch zufrieden damit. Doch das Setup-Projekt gibt es nicht mehr und es muss nach Alternativen geschaut werden.

Hier meine Eindrücke, ich habe jedes Programm aber nur kurz getestet :

VS2010 Setup-Projekt :
- Es kann auf Framework 2.0 und 3.5 getestet werden. Das Framework kann von DVD oder aus dem Internet geladen werden
- Es kann auf SQL Express 2005 getestet werden, dieser kann installiert werden. Funktioniert allerdings nicht auf 64-Bit-Betriebssystem
- Das Setup ist einfach einzurichten
- Benutzerabfragen "Icon anlegen", "Programm starten" nur umständlich einzubauen
- Nicht zukunftssicher

ClickOnce :
-Der Dialog den der Benutzer sieht, ist sehr minimalistisch und abschreckend : "Sicherheitswarnung", "Der Herausgeber kann nicht überprüft werden", "Möchsten Sie wirklich installieren ?", Herausgeber : Unbekannter Herausgeber", "Anwendungen stellen eine potentielle Gefahr da, installieren Sie nicht wenn ..."
Ich würde eine solche Software nicht installieren
- Es kann auf Framework 2.0, 3.5 und auf SQL Server 2008 oder 2012 geprüft werden.
- Die Oberfläche kann nicht angepasst werden
- Fehlermeldungen "Es fehlt eine erforderliche Komponente" oft unverständlich

InstallShield Light :
- Einrichten geht einfach und schnell.
- Bei 80% der Funktionen kommt die Meldung "Nur in der Vollversion verfügbar, Vollversion jetzt kaufen ?"
- Es kann nur auf Framework 3.5 geprüft werden, Test auf 2.0 muss man aufwändig programmieren.
- Es kann nur auf SQL Server 2012 geprüft werden.
- Teilweise umständlich zu definieren

Windows Installer XML (WIX) :
- Der offizielle Nachfolger vom Setup Projekt
- Sehr umfangreiche XML-Konfigurationsdatei
- Mit WixEdit GUI ganz gut zu bearbeiten
- Kann auf Framework 2.0 und 3.5 prüfen, aber installieren ?
- Lange Einarbeitszeit, gegenüber den anderen Programmen

Inno Setup :
- Eine lange Definitionsdatei. Find ich praktisch
- Mit der GUI Inno Script Studio gut zu bearbeiten
- Abfrage auf Framework oder SQL-Server nur per eigener Programmierung machbar

XCOPY :
- Würde mir eigentlich reichen, per Batchdatei könnte man sogar auf das Framework prüfen. Die Optik ist aber nicht so benutzerfreundlich.

Die Optik finde ich bei allen Programmen ausreichend (ausser XCOPY), der Anwender findet sich schnell zurecht weil sich die Programme mehr oder weniger ähneln. WIX bietet die meisten Anpassungsmöglichkeiten für die Optik.

Favoriten habe ich bisher keinen, so ganz toll finde ich keines.

Wie sind Eure Erfahrungen ?

Grüße Bernd

PS.: Microsoft ist der Meinung dass der Anwender kein Setup-Projekt mehr braucht, weil ja jeder eine Software-Verteilungssoftware einsetzt. Oder gleich in der Cloud arbeitet.
Bei meinen Anwendern ist das aber nicht so, die wollen noch ganz altmodisch mit Setup.exe auf den eigenen Rechner installieren.
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15702
Herkunft: BW

beantworten | zitieren | melden

Zitat von BerndFfm
PS.: Microsoft ist der Meinung dass der Anwender kein Setup-Projekt mehr braucht, weil ja jeder eine Software-Verteilungssoftware einsetzt. Oder gleich in der Cloud arbeitet.
Das sehe ich nicht so.
Auf WIX wurde halt umgestellt, da sich damit leichter automatisiert Setups umsetzen lassen - eben per XML.
Ist ja prinzipiell auch per TFS beim Build so direkt konfigurierbar.

Aus Deiner Auswahl würde ich auch auf WIX oder InnoSetup setzen.
Die Community ist da ja recht groß, sodass sich da schnell Lösungen für MSSQL und Co finden lassen sollten.

Ich persönlich finde auch InstallAware richtig spannend, weil das wohl der einzige "größere" Installer ist, der auch IIS Anwendungen richtig sauber installiert.
Wird für viele nun egal sein ;-)
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #gvp27cjXxMEZQuCpk4WQ.jpg


Dabei seit:
Beiträge: 3737
Herkunft: Frankfurt a.M.

Themenstarter:

beantworten | zitieren | melden

Zitat von Abt
Zitat von BerndFfm
PS.: Microsoft ist der Meinung dass der Anwender kein Setup-Projekt mehr braucht, weil ja jeder eine Software-Verteilungssoftware einsetzt. Oder gleich in der Cloud arbeitet.
Das sehe ich nicht so.
Auf WIX wurde halt umgestellt, da sich damit leichter automatisiert Setups umsetzen lassen - eben per XML.

Das war die Aussage eine MS-Mitarbeites, der in Deutschland u.a. für Setup-Programme zuständig ist / war.

IIS-Anwendungen sind sicher auch wichtig. Ich brauche sie z.Zt. aber nicht.

Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15702
Herkunft: BW

beantworten | zitieren | melden

Das würde ich aber als private Meinung interpretieren, nicht von MS gesehen.
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4001

beantworten | zitieren | melden

Hallo Bernd,

ich habe mich die letzten Wochen auch in WiX eingearbeitet und nach und nach die benötigten Features aus dem Internet zusammengesucht. Um ein .NET-Framework zu installieren, gibt es die Kombination von Burn und Bootstrapper: How To: Install the .NET Framework Using Burn (ich selber brauchte es bisher aber noch nicht, da meine Applikation eine Inhouse-Nutzung für Win7 und .NET 4 ist). Für .NET 2.0 und 3.5 muß man aber wohl selber noch das Package zusammenbauen, s. using WIX3.6 to install .NET Framework 3.5 SP1 with Burn.
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #gvp27cjXxMEZQuCpk4WQ.jpg


Dabei seit:
Beiträge: 3737
Herkunft: Frankfurt a.M.

Themenstarter:

beantworten | zitieren | melden

Für InnoSetup gibt es bei Codeproject auch Anleitungen wie man ein .Net Framework prüfen und ggf. installieren kann.
CodeProject Modular InnoSetup Dependency Installer
CodeProject InnoSetup with .NET installer x86/x64 sample

Gegenüber Setup-Projekt und ClickOnce, wo man nur eine Checkbox anklicken muss und dann, wenn man will, noch eine URL oder einen Pfad angeben kann, wo der Installer das Framework findet, ganz schön umständlich.

Noch ein Hinweis zu den Setup-Programmen :

ClickOnce, Setup-Projekt und InstallShield integrieren sich mehr oder weniger ins Visual Studio.

InnoSetup kommt mit dem Inno Script Studio

WIX kommt erstmal so daher, es gibt aber WixEdit, das eine GUI zur Verfügung stellt.

XCOPY kommt mit dem komfortablen Editor NOTEPAD.EXE, allerdings ohne Intellisense bei der Bearbeitung von Batchdateien.

Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 10072

beantworten | zitieren | melden

Creating installers with Visual Studio

MS hat wohl eingesehen das das eine Suboptimale Lösung war und wird für VS 2013 wieder eine Extension anbieten die alte Setupprojekte verarbeiten kann.
private Nachricht | Beiträge des Benutzers
Jelly
myCSharp.de - Member



Dabei seit:
Beiträge: 1127
Herkunft: Burden (Luxemburg)

beantworten | zitieren | melden

Hast du dir schon Advanced Installer angeschaut. Die Free Edition unterstützt die Installation vom SQL Server zwar nicht, aber ab der Professional aber dann schon.
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #gvp27cjXxMEZQuCpk4WQ.jpg


Dabei seit:
Beiträge: 3737
Herkunft: Frankfurt a.M.

Themenstarter:

beantworten | zitieren | melden

Fzelle : Danke für den Hinweis !

Hier gibt es eine aktuelle Preview Version des Installer Projects, das wieder in VS 2013 kommen soll :

blogs.msdn : Visual Studio Installer Projects Extension

Gleich mal installiert (Version 0.9.1.0) ! Mein Kommentar :

VS 2013 Installer Project :

- basiert auf Installer Project des VS2010
- Framework 2.0 bis 4.5 kann geprüft und von einer Website oder von DVD installiert werden. Das Framework 2.0 fehlt zwar in der Liste der "Detected Dependencies" scheint aber trotzdem zu funktionieren wenn man es manuell aktiviert. Das muss ich noch testen (Wo bekommt man einen Rechner ohne Framework 2.0 her ?)
- SQL Server 2008R2 oder 2012 kann installiert werden falls nicht vorhanden. Als Besonderheit kann SQL Server LocalDB installiert werden (sehr kleine Version vom SQL Server). Ich hoffe das klappt auf 32- und 64-Bit-Rechnern.
- Mit dem Setup Wizard erstellt man in 5 Minuten ein Setup für seine Anwendung.

Lustig finde ich dass viele Benutzer des VS 2012 und VS 2013 gar nicht bemerkt haben dass Microsoft die Setup-Projekte entfernt hat, sondern es für einen Fehler gehalten haben dass sich alte Setup-Projekte nicht öffnen ließen bzw. sich keine neuen Setup-Projekte anlegen ließen.
Es wurde oft gefragt "Wann der Fehler denn behoben sei".

Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
Peter Bucher
myCSharp.de - Experte

Avatar #jVxXe7MDBPAimxdX3em3.jpg


Dabei seit:
Beiträge: 6141
Herkunft: Zentralschweiz

beantworten | zitieren | melden

Hallo Bernd

Zu deiner Liste könnte man noch NSIS und Inno Setup hinzufügen.
- http://nsis.sourceforge.net/Main_Page
- http://www.jrsoftware.org/isinfo.php


Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011

- https://peterbucher.ch/ - Meine persönliche Seite
- https://fpvspots.net/ - Spots für FPV Dronenflüge
private Nachricht | Beiträge des Benutzers
Khalid
myCSharp.de - Experte

Avatar #avatar-2534.gif


Dabei seit:
Beiträge: 3627
Herkunft: Hannover

beantworten | zitieren | melden

Arbeite seit langem nur noch mit WiX. Kann ich nur empfehlen. Ja, es dauert ein wenig um sich in das Teil einzuarbeiten, aber bis jetzt konnte ich alle Dinge umsetzen die ich so brauchte. Z.B. Dependencies installieren (.NET), Redists installieren (VC++), Dienste starten/stoppen/installieren, Web Seiten im IIS installieren (Neue AppPools, Anwendung, etc...), den IIS installieren, falls dieser erst gar nicht da ist (unter Win Server 2008R2 & höher), komplett eigene Dialoge mit eigenen Logiken, usw. usw. Es geht so einiges mit dem Teil.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #gvp27cjXxMEZQuCpk4WQ.jpg


Dabei seit:
Beiträge: 3737
Herkunft: Frankfurt a.M.

Themenstarter:

beantworten | zitieren | melden

12.06.2014 : Microsoft hat die Finale Version des Installer Projekts für Visual Studio 2013 veröffentlicht :

Visual Studio Installer Projects Extension

Gleich mal testen.

Eine Frage dazu in die Runde :

Wenn das Installer-Projekt eine Verknüpfung auf dem Desktop anlegt dann ist diese nicht änderbar. Wenn andere Installer eine Verknüpfung anlegen dann kann ich die immer ändern.

Woran liegt das ? Wie kann ich eine vom Installer-Projekt angelegte Verknüpfung ändern ? Der Anwender muss bei mir den Namen des SQL-Servers als Argument eintragen.


Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
Jelly
myCSharp.de - Member



Dabei seit:
Beiträge: 1127
Herkunft: Burden (Luxemburg)

beantworten | zitieren | melden

Es gibt 2 Arten von Shortcuts: Advertised und Non-Advertised. Und Advertised Shortcuts kann man nicht ändern. Daneben haben solche Shortcuts auch noch den nachteil, dass beim ersten Start vom User nochmals das MSI Paket gebraucht wird. Der User hat aber nicht in allen Fällen Zugriff darauf, und kann somit das Programm noch nicht einmal starten.

Warum Microsoft diesen Weg wählt, weiss ich auch nicht.

Abhilfe jedoch schafft, das MSI kurz mit zB dem Orca Tool ze bearbeiten, und dann in der Property Tabelle den Werten DISABLEADVTSHORTCUTS auf 1 zu setzen.
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #gvp27cjXxMEZQuCpk4WQ.jpg


Dabei seit:
Beiträge: 3737
Herkunft: Frankfurt a.M.

Themenstarter:

beantworten | zitieren | melden

Beim Visual Studio 2015 gibt es das Installer Projekt auch, es muss aber extra installiert werden :
https://visualstudiogallery.msdn.microsoft.com/f1cc3f3e-c300-40a7-8797-c509fb8933b9

Ich benutze jetzt das Installer Projekt für meine Applikationen.

Die Probleme bei Installation des Frameworks und des SQL Servers habe ich wie folgt gelöst :

Alle Komponenten die eine Installation erfordern entfernt !

Für Windows XP und 7 habe ich eine Version mit dem Framework 2.0 und für Windows 8 und 10 eine Version mit dem Framework 4.0. Diese Frameworks sind ja vorinstalliert.

Funktionen die ein anderes Framework benötigen sind deaktiviert.

So läuft die Software sofort auf jedem Rechner. Viel Aufwand, aber ich finde es lohnt sich. Nichts ist ärgerlicher als eine Software, an der man stundenlang rumbasteln muss bis sie läuft.

Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #gvp27cjXxMEZQuCpk4WQ.jpg


Dabei seit:
Beiträge: 3737
Herkunft: Frankfurt a.M.

Themenstarter:

beantworten | zitieren | melden

Hallo Jelly,

danke für den Tipp mit den Advertised Shortcuts.

Ich erinnere mich dass Microsoft diese bei Windows XP mit viel Werbung eingeführt hat, denn man kann Dateien aus dem Programmordner löschen und dieser Shortcut stellt sie wieder aus der MSI-Datei her.

Der Advertised Shortcut erlaubt auch 'Installation on Demand'. Es wird nur das Icon installiert und erst wenn der User draufklickt installiert sich das Programm.

Naja, wer's braucht ...

Neben dem Gefrickel mit dem Orca-Tool habe ich eine Möglichkeit gefunden das im Setup Projekt einzubauen :

Im Editor für die Benutzeroberfläche bei "Start" ein Dialogfeld "Textfelder (A)" hinzufügen und an den Anfang schieben. Willkommenstext hier reinschreiben. Alle Textfelder auf Visible = False setzen.
Textfeld 1 wie folgt belegen :
Edit1Property : DISABLEADVTSHORTCUTS
Edit1Value : 1

Den Original Willkommen Dialog löschen. So kann man auch einen schöneren Titel im Willkommen-Dialog wählen !
Den Copyright-Hinweis kann man nach unten schieben indem man \r\n manuell mit einem Texteditor in die vdproj-Datei hinzufügt. Es gehen aber maximal 3 \r\n pro Text.

Wieso einfach wenn's auch umständlich geht ?

Eine weitere Möglichkeit ist es ein VB-Script laufen zu lassen dass im gleichen SDK enthalten ist wie das Orca Tool. Das kann auch im Postbuild-Ereignis ausgeführt werden :
cscript //nologo "$(ProjectDir)WiRunSql.vbs" "$(BuiltOuputPath)" "INSERT INTO Property(Property, Value) VALUES ('DISABLEADVTSHORTCUTS', '1')"

Grüße Bernd
Attachments
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #gvp27cjXxMEZQuCpk4WQ.jpg


Dabei seit:
Beiträge: 3737
Herkunft: Frankfurt a.M.

Themenstarter:

beantworten | zitieren | melden

Im Visual Studio 2017 gibt es das Installer Projekt immer noch, es muss wie folgt installiert werden :

Extras / Extensions und Update...

Dann Visual Studio Marketplace wählen und rechts im Suchfeld "Installer" eingeben.

Dann "Microsoft Visual Studio 2017 Installer Projects" auswählen und herunterladen.

Ich benutze das Installer Projekt um meine Software von DVD oder aus dem Internet zu installieren.

Dazu benutze ich es um eine App aus dem Microsoft Store zu installieren bzw. das ist so geplant.

Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers