Entwickler-Ecke
Basistechnologien - Anwendung im ZIP.Ordner öffnet nicht
Delete - So 13.03.16 13:13
Titel: Anwendung im ZIP.Ordner öffnet nicht
Hallo ihr Experten.
Vorab: Ich habe vor, alle Dateien (wie .dll, .xml, .txt und natürlich die .exe) in einem Zip Ordner zu liefern. In meiner Anwendung handelt es sich um einen HTML Editor, der mit Scintilla arbeitet. Ich habe die Exe und die Text-Datei in einen Zip-Ordner gepackt. Die Dateien habe ich dann extrahiert und wollte die Anwendung starten. Diese öffnet aber nicht.
Muss ich alle Dateien, die im Release Ordner von VS sind in den Zip Ordner packen, oder reicht die Exe und die DLL?
Beim ersten Start der Anwendung sollen alle Dateien im Zip.Ordner an die richtige Stelle zum Systemordner Dokumente (plus Unterordner natürlich) verschoben werden.
Die Anwendung startet aber überhaupt nicht. Es passiert gar nichts, wenn ich die Exe öffne.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| private void Form1_Load(object sender, EventArgs e) { if (_einstellungen.ZumErstenmalGeladen == true) { Begrüßung _begrüßung = new Begrüßung (_einstellungen) _begrüßung.ShowDialog();
if (_begrüßung.einverstanden == true) { _einstellungen.ZumErstenmalGeladen = true; _einstellungen.Save(); } else { Application.Exit(); } } } |
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| private void button1_Click(object sender, EventArgs e) { this.Size = new Size(842, 444); string path = Directory.GetCurrentDirectory(); File.Move(Path.Combine(path, "ReadMe.txt"), Path.Combine(io.pInformationen)); File.Move(Path.Combine(path, "Erste Schritte.pdf"), Path.Combine(io.pInformationen)); this.progressBar1.Value = 20; Directory.CreateDirectory(io.pFarbkombinationen); Directory.CreateDirectory(io.pProjekte); this.progressBar1.Value = 40; } |
Ralf Jansen - So 13.03.16 18:15
Zitat: |
Muss ich alle Dateien, die im Release Ordner von VS sind in den Zip Ordner packen, oder reicht die Exe und die DLL? |
So simpel/eindeutig nicht zu beantworten. Es könnte auch Abhängigkeiten geben die dort nicht auftauchen oder Dinge die da drin liegen die du nicht brauchst.
Wenn du eine Third-Party Komponente verwendest sollte die in ihrer Doku, meist unter dem Stichwort Deployment (was, wie und unter welchen Copyright Einschränkungen), sagen wie das zu handhaben ist.
Zitat: |
C#-Quelltext 1:
| string path = Directory.GetCurrentDirectory(); | |
Die Annahme ist falsch. Das Arbeitsverzeichnis ist ein sehr volatile Größe die manchmal mit dem Startpfad zusammenfällt aber auch was ganz anderes sein kann oder sich zur Laufzeit ändert.
Dein Code sieht nach Winforms aus das wäre
Application.StartupPath die Property der Wahl
Edit: Falls gilt
The Developer Guru == Csharp-programmierer bitte auf einen Account beschränken.
Th69 - So 13.03.16 19:47
Hallo "The Developer Guru",
bitte lies mal deine PN und antworte darauf.
Csharp-programmierer - So 13.03.16 20:59
Also ich habe jetzt die anderen Daten auch in den ZIP eingefügt und die Anwendung startet. Wenn ich die Exe aber aus dem Ordner rausnehme und starte, öffnet sie wieder nicht. Gibt es einen anderen Weg oder muss die Exe unbedingt im Ordner mit allen Dateien sein?
Ralf Jansen - Mo 14.03.16 00:27
Zitat: |
Also ich habe jetzt die anderen Daten auch in den ZIP eingefügt und die Anwendung startet. Wenn ich die Exe aber aus dem Ordner rausnehme und starte, öffnet sie wieder nicht. Gibt es einen anderen Weg oder muss die Exe unbedingt im Ordner mit allen Dateien sein? |
Nein, es gibt viele andere Wege. Datei ist ja auch nicht Datei also ist die Frage eh nicht sinnvoll zu beantworten. Ein Bild das du selbst lädst ist völlig egal von wo. Bei einer Assembly die du selbst lädst ist das völlig egal von wo. Wenn du das dem System überlässt was es laden soll dann ist es am einfachsten sie einfach im gleichen Ordner zu haben. Und es gibt da noch viele andere Sorten von Dateien die ihre eigenen Antworten für das "wo soll ich die ablegen" haben. Am besten solltest du herausfinden was du da für Dateien hast wofür die gut sind und ob du die brauchst. Die Dateien einfach als Dateien zu betrachten ist zu simpel.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!