|
|
| |
| |
Hallo und herzlich willkommen! Tutorials.de ist eine Hilfe-Community mit dem Motto User helfen Usern. Als Gast verfügst Du über Schreibrechte in unseren Foren und Blogs. Du kannst dich aber gerne auch kostenlos registrieren und Teil unserer Gemeinschaft werden! Viel Spaß & Erfolg bei der Vermehrung deines Wissens :-)
|
|
|
 |
|
|
|
|
|
|
05.02.08, 15:28
|
#1 (permalink)
|
|
Mitglied Brokat
Registriert seit: Aug 2005
Beiträge: 256
Renommee-Modifikator: 11
|
Installationsroutine für .NET Programm
Ich hab da mal eine Frage zu VB.NET 2005.
Und zwar habe ich nun ein Projekt komplett fertig und würde das gerne in einer Setup Routine installieren lassen. Das ist ja in .NET soweit integriert (veröffentlichen), funktioniert nur lieder nicht so richtig gut. Ich würde gerne einen Ordner im Programmpfad (C:\Programme\...) erzeugen und trotzdem die Software in der Registrierung drin haben (Damit man sie über Software in der Systemsteuerung auch deinstallieren kann). Des Weiteren benötigt das Programm ja .NET Framework 2.0, das er sich dann aus dem Internet laden würde. Kann man das nicht direkt alles zu dem Programm packen, damit man eine CD macht und dann das auch läuft?
Ich hab bisher diesen publish Ordner auf einen USB-Stick gepackt und mal auf ein paar anderen PCs versucht zu installieren, das klappt ja fast nie. Also das ist ja auch nicht so toll... Benötigt wird nur die EXE-Datei und ein paar XML Dokumente, sonst nichts.
Hat vlt jemand eine gute Anleitung auf Lager oder ein paar Tipps, damit die Installation so einfach ist wie bei üblichen Programmen?
Danke!
|
05.02.08, 18:59
|
#2 (permalink)
|
|
.NET / ITIL / SQL
Registriert seit: Dec 2003
Ort: Pulheim (NRW)
Beiträge: 3.136
|
AW: Installationsroutine für .NET Programm
Hi
Wenn du Visual Studio nutzt, werden Projekt-Templates zum Verteilen von Anwendungen mitgeliefert. Unter anderem das Setup-Projekt. Mit diesem kannst du festlegen, wo es per Default hininstalliert werden soll, wo es das .NET-Framework beziehen kann uvwm.
Dafür kannst per Rechtsklick auf das Solution-File (im Solution-Explorer) oder über das Datei-Menü über den Eintrag Add new Projekt ein weiteres Projekt der Solution hinzufügen.
__________________
Grüße Nico
----------------------
Xing
----------------------
Zitat:
|
Zitat von unbekannt
Es ist nicht das Essen zwischen Weihnachten und Neujahr, das dick macht, sondern das Essen zwischen Neujahr und Weihnacht
|
Zitat:
|
Zitat von Mark Twain (1835-1910)
Es gibt drei Dinge, die eine Frau aus dem Nichts hervorzaubern kann: einen Hut, einen Salat und einen Ehekrach.
|
Zitat:
|
Zitat von Mike Wilson - Biographie über Larry Ellison (CEO Oracle)
The Difference Between God and Larry Ellison: God Doesn't Think He's Larry Ellison
|
|
05.02.08, 20:28
|
#3 (permalink)
|
|
Mitglied Brokat
Registriert seit: Aug 2005
Beiträge: 256
Renommee-Modifikator: 11
|
AW: Installationsroutine für .NET Programm
Danke
Visual Studio steckt voller Überraschungen, man muss sie nur finden...
Na dann ist das ja sehr gut gelöst, werde mich dann mal damit beschäftigen.
|
13.05.08, 10:27
|
#4 (permalink)
|
|
Mitglied Brokat
Registriert seit: Aug 2005
Beiträge: 256
Renommee-Modifikator: 11
|
AW: Installationsroutine für .NET Programm
Moin,
Nach langer Zeit ist das Projekt nun fast fertig. Die Setup-Routine ist soweit fertig, es gibt nur noch ein paar Probleme.
Das Programm benötigt Windows Installer 3.1 und .NET Framework 3.5, da ich mittlerweile Visual Studio 2008 verwende.
Die fertige Setup Routine würde sich die Dateien aus dem Internet herunterladen, wenn sie auf dem Zielcomputer noch nicht installiert sind. Das ist aber bei einer nicht vorhandenen Internetverbindung recht schwierig. Daher habe ich mir beides heruntergeladen, jeweils die Vollversion (.NET 197MB und Windows Installer 2,5MB)
Wie kann ich meiner Installationsroutine nun beibringen, dass er die Dateien aus meinem Verzeichnis nehmen soll und nicht herunterladen soll? Und wie muss ich die Dateien benennen?
Das Programm soll zum Schluss auf einer CD verewigt werden und damit auf möglichst jedem handelsüblichen PC laufen.
Des Weiteren bin ich mir nicht sicher, wo ich die zugehörigen Dateien, die ich beispielsweise in den Anwendungsordner kopiere, auf der CD platzieren muss. Das Programm kann die Dateien doch nicht identifizieren, wenn sie vorher in meinen Eigenen Dateien verlinkt waren und auf einmal auf der CD wiederzufinden sein sollten....
Und zuletzt noch die Frage wie ich in das Startmenü parallel zu der Programmverknüpfung eine Deinstallationsroutine anbieten kann. Das Programm sollte sich nicht nur über die Systemsteuerung deinstallieren lassen, wobei es auch noch folgendes Problem gibt: Es ist bereits eine Version installiert, nun soll meine neue Version diese ersetzen (Alte Version entfernen ist bei Setup Routine aktiviert). Jedoch meldet die Setup Routine dann, dass die alte Version erst deinstalliert werden muss, dies aber nicht tut.
Ich hoffe, dass diese Probleme lösbar sind. Vielen Danke im voraus! 
|
13.05.08, 10:48
|
#5 (permalink)
|
|
Mitglied Bronze
Registriert seit: Jul 2005
Beiträge: 40
Renommee-Modifikator: 10
|
AW: Installationsroutine für .NET Programm
Zunächst mal zu der Nebenfrage: "Es ist bereits eine Version installiert, nun soll meine neue Version diese ersetzen (Alte Version entfernen ist bei Setup Routine aktiviert). Jedoch meldet die Setup Routine dann, dass die alte Version erst deinstalliert werden muss, dies aber nicht tut."
Dies vermeidest du, indem du die Versionsnummer des Setups-Projecst mit jedem Release erhöhst - und auch den Productcode. Letzterer passt sich aber automatisch an, wenn du die entsprechende Abfrage bestätigst. Erhöhst du die Versionsnummer nicht, bleibt nur reparieren und entfernen. Das Setup selbst ist nicht so schlau, erstmal die bereits existierenden Files zu checken und gegebenenfalls upzudaten.
Für den Speicherort der Komponenten (Internet oder Datenträger) gibts auch irgendwo eine Option. Vor Monaten hab ich die mal benutzt, die muss ich erst wieder suchen (wenn ich Zeit dazu finde).
|
13.05.08, 10:58
|
#6 (permalink)
|
|
Mitglied Bronze
Registriert seit: Jul 2005
Beiträge: 40
Renommee-Modifikator: 10
|
AW: Installationsroutine für .NET Programm
Habs gefunden, die Speicherort-Optionen findest du so:
- Eigenschaften des Setup-Projects
- Symbol "Eigenschaftenseiten" klicken
- "Erforderliche Komponenten" - Button klicken
- Option zwei wählen: "Erforderliche Komponenten von demselben Speicherort wie Anwendung downloaden"
Du selbst brauchst dann keine Komponenten irgendwo hin zu schieben, das Erstellen des Setups schiebt alles ins Release oder Debug Verzeichnis. Komplett auf die CD damit und fertig.
Geändert von Quero59 (13.05.08 um 11:05 Uhr).
|
13.05.08, 11:13
|
#7 (permalink)
|
|
Mitglied Brokat
Registriert seit: Aug 2005
Beiträge: 256
Renommee-Modifikator: 11
|
AW: Installationsroutine für .NET Programm
Okay, das klappt ja wunderbar.
Visual Studio hat die Installationsprogramme für .NET und Windows Installer also selber parat. Jedenfalls ist der "Erstellen" Ordner jetzt 240MB groß, es sollte also alles dabei sein.
Nun ist nur noch die Frage, warum in diesem Ordner folgende 2 .exe Dateien vorhanden sind:
Einmal setup.exe mit dem moderneren Setup Symbol von Windows (Produktverpackung im Hintergrund in CD davor) und dann noch Setup-Routine.exe (gleichnamig mit meinem Projekt) mit dem älteren Installations Symbol von Windiws (PC im Hintergrund, Verpackung mit CD im Vordergrund).
Welche davon ist die Richtige und benötige ich beide oder soll ich eine weglassen, wenn ich den Inhalt der Erstellen Ordners auf eine CD brenne.
|
13.05.08, 11:43
|
#8 (permalink)
|
|
Mitglied Bronze
Registriert seit: Jul 2005
Beiträge: 40
Renommee-Modifikator: 10
|
AW: Installationsroutine für .NET Programm
Also ich hab nur eine Setup.exe, eine Projektname.MSI und die Unterordner mit den Komponenten.
Edit: Nach den von dir beschriebenen Symbolen müsste es sich bei dir auch um eine MSI-Datei handeln. Das Ding enthält deine ganze Anwendung.
Geändert von Quero59 (13.05.08 um 11:55 Uhr).
|
13.05.08, 13:44
|
#9 (permalink)
|
|
Mitglied Brokat
Registriert seit: Aug 2005
Beiträge: 256
Renommee-Modifikator: 11
|
AW: Installationsroutine für .NET Programm
Das kann natürlich so sein. Als Typ ist ein Windows Installer Installationspaket angegeben.
Die Datei setup enthält im Gegensatz zur Setup-Routine auch die Installation von .NET etc.
Daher denke ich, dass du mit der msi Datei Recht hast.
Danke für die Hilfe!
Nur noch die Frage mit der Deinstallation. Kann man bei VS2008 eine Funktion einbauen, die eine Deinstallationsroutine auf dem Ziel-PC einrichtet?
|
13.05.08, 20:30
|
#10 (permalink)
|
|
Mitglied Platin
Registriert seit: Jun 2004
Ort: Gera (Thüringen)
Beiträge: 517
Renommee-Modifikator: 14
|
AW: Installationsroutine für .NET Programm
Nur mal so als Anmerkung....
VS 2008 Programme setzen nicht unbedingt das Framework 3.5 voraus.
Das würde ich nur mitliefern wenn ich auch Funktionen aus 3.5 wie LINQ usw.
nutze. Im Normalfall reicht das FW 2.0 und das kann man im Setup einstellen.
Gruß
Jens
|
13.05.08, 20:42
|
#11 (permalink)
|
|
Mitglied Brokat
Registriert seit: Aug 2005
Beiträge: 256
Renommee-Modifikator: 11
|
AW: Installationsroutine für .NET Programm
Hab auch schon mit dem Gedanken gespielt, das umzustellen.
Das Programm selbst wurde ohnehin mit .NET 2.0 erstellt, nur seitdem ich die Setup-Routine eingebaut habe, arbeite ich mit VS2008 und somit auch mit .NET3.5.
Werde das wohl mal umstellen, das .NET 2.0 haben sicher mehr Leute als das 3.5 
|
14.05.08, 07:11
|
#12 (permalink)
|
|
Mitglied Brokat
Registriert seit: Aug 2005
Beiträge: 256
Renommee-Modifikator: 11
|
AW: Installationsroutine für .NET Programm
Habe noch immer Probleme damit, die Versionen bei einer Installation ersetzen zu lassen.
Meien Projektstruktur ist recht einfach:
Projektmappe
-Mein Projekt
-Setup Routine
Das wars auch schon. Ich habe nun die Version meines Projektes manuell erhöht, mit einer Veröffentlichung erhöhen lassen und nicht erhöht. Folgende Fehlermeldung tritt weiterhin auf, wenn ich die Setup.exe öffne, solange die alte Version noch installiert ist:
"Eine weitere Version dieses Produktes ist bereits installiert. Die Installation dieser Version kann nicht fortgesetzt werden. Um die installierte Version dieses Produkts zu konfigurieren der zu entfernen, verwenden sie "Software" aus der Windows Systemsteuerung."
Ist es möglich, dass die Versionsnummer einfach nicht aktuallisiert wird, warum entfernt die Setup Routine nicht einfach die alte Version wie in den Einstellungen ausgewählt?
Gruß David
|
14.05.08, 10:36
|
#13 (permalink)
|
|
Mitglied Bronze
Registriert seit: Jul 2005
Beiträge: 40
Renommee-Modifikator: 10
|
AW: Installationsroutine für .NET Programm
Ausschlaggebend ist die Versionsnummer des Setup-Projekts, nicht die des Anwendungs-Projekts.
Erhöhst du diese Nummer, sollte das Setup einmal  als Update-Installation durchlaufen, inclusive Entfernen der alten Dateien.
Ist das einmal durchgelaufen, kommt die nächsten Male wieder nur "Entfernen" und "Reparieren" des Setups.
Find ich auch nicht so doll, es gibt auch noch einige vielversprechende Parameter, die ich aber nicht getestet hab.
|
14.05.08, 11:39
|
#14 (permalink)
|
|
Mitglied Brokat
Registriert seit: Aug 2005
Beiträge: 256
Renommee-Modifikator: 11
|
AW: Installationsroutine für .NET Programm
Guter Tip! Hatte die Versionsnummer vorher gar nicht gesehen, immerhin funktioniert es jetzt
Danke!
|
09.07.08, 11:08
|
#15 (permalink)
|
|
Mitglied Brokat
Registriert seit: Aug 2005
Beiträge: 256
Renommee-Modifikator: 11
|
AW: Installationsroutine für .NET Programm
Bezüglich dem .NET Framework 2.0 und 3.5. Das Projekt hatte ich zu anfang versehentlich mit .NET 3.5 erzeugt. Nun habe ich aber in den Projekteinstellungen (Erweiterte Kompiliereinstellungen) das Zielframework auf .NET 2.0 umgestellt und die nicht benötigten Verweise wie beispielsweise Linq gelöscht.
Das Programm lief auch im Debugger ohne Probleme. Anschließend habe ich die Versionsnummern erhöht und die Projektmappe inkl. Setup Projekt erstellt. Das Ganze auf einen USB-Stick und dann auf einem PC ohne .NET 3.5 installiert (.NET 2.0 vorhanden)
Nun teilt mir die Setup Routine mit, .NET Framework 3.5 würde benötigt.
Woran kann das liegen?
Alle Verweise meines Projektes benötigen .NET 2.0.0.0, nicht aber .NET 3.5...
Edit:
Hier die Lösung:
In dem Setup-Projekt gibt es ein Menü "Anforderungen für den Zielcomputer" (ganz rechts im Projektexplorer). Da auf Startbedingungen -> .NET Framework und im Eigenschaftsfenster die Version 2.0.50727 auswählen
Das wars...
Gruß David
Geändert von Terminator2 (12.07.08 um 18:49 Uhr).
|
|
| Themen-Optionen |
|
|
| Ansicht |
Linear-Darstellung
|
|
 |
|
»
Neue Tutorials
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
»
Letzte News
|
 |
|
|
|
|
|
|
|
|
|
|
»
Tools
|
 |
|
|
|
|
|
»
Neue Links
|
 |
|
|
|
|
(Cinema 4D-Objekte)
|
|
(Cinema 4D-Tutorials)
|
|
(Cinema 4D-Tutorials)
|
|
(Cinema 4D-Tutorials)
|
|
(Cinema 4D-Tutorials)
|
|
»
Jobs @ tutorials.de
|
 |
|
|
|
|
|
|
|
|
|
|