mikrocontroller.net

Forum: PC-Programmierung Release-funktion klappt nicht


Autor: Tuttifrutti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo alle zusammen,

Ich habe ein großes Problem mit meinem VC++ .Net Compiler. Ich habe ein 
kleines Testprogramm geschrieben: Auf der graphischen oberfläche und 
natürlich den Quellcode, und dann habe ich es mit Release compilieren 
lassen.
So weit so gut. Den Release-Ordner kann ich jetzt überall 
hinschieben,und das Programm läuft noch. Wenn ich jetzt aber diesen 
Ordner auf einen anderen PC packe,dann kommt beim Starten die 
Fehlermeldung,dass das Programm nicht richtig installiert sei und ich 
bitte neuinstallieren müsse.
Was muss man in den Einstellungen vom Compiler beachten? Ich hoffe 
jemand kann mir helfen.
Dann habe ich noch eine ander Frage. Ich habe gehört, dass es eine 
Funktion geben soll, die alle Dinge aus dem Programm löscht die es nicht 
braucht. Also zum Beispiel header die das Programm nicht braucht usw. 
Ich finde so etwas ziemlich nützlich,da dann die Programme auch viel 
kleiner werden.
Kann mir jemand sagen wo ich so eine Funktion finde wenn es so etwas 
geben sollte?

Ich danke schonmal im Vorraus,

Tuttifrutti

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei dem .NET gemurkse musst du das Programm "Publishen", wenn du es auf 
anderen Rechnern installieren willst. Da wird dann ein Setup-Programm 
erzeugt, was das Programm korrekt ins Framework installiert. Oder du 
erzeugst ein Native Image, da kannst du dann die exe an sich weiter 
geben. Ist sowieso besser, sonst kann nämlich jeder deinen Quellcode 
anschauen.

Das mit dem Aufräumen hab ich nicht kapiert. Unnötige Funktionen kommen 
doch nichtmal durch den Kompiler, wo soll da das Programm kleiner 
werden?

Autor: Tuttifrutti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Christian,

Kannst du mir sagen wie man das macht mit dem Native image, braucht man 
dazu ein spezielles Programm?

Die Sache mit dem Aufräumen. Ehrlich gesagt habe ich das auch nur soweit 
verstandenwie du. Ist wohl besser wenn ich dem nicht weiter nachgehe. 
Habs mal irgentwo aufgeschnappt.

Gruß,

Tuttifrutti

Autor: Tuttifrutti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ergänzung:

Ich hatte vor meinem Beitrag nach native image gegoogelt und das hier 
herausgefunden:

Im Zweifel gibt es auch die Möglichkeit, die das Ergebnis der 
Kompilierung von MSIL zu Maschinencode zu speichern und später 
auszufüh-ren. Dies nennt man ein Native Image.

Das Problem ist nur: Wie mache ich das.

Tuttifrutti

Autor: Ralf W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

soweit ich weiß muss auf dem externen Rechner das .Net Framework
in der jeweils richtigen Version installiert sein.
Dazu gibts von Microsoft ein Redistributable des .Net Frameworks.

Dann kann man auch einfach nur die erzeugte .exe bzw die .exe
und ihre Abhängigkeiten weitergeben (zB. config Files oder eigene
dll Dateien die nicht zum Framework gehören).

Microsoft hat ausserdem ein Publishing im Visual Studio integriert.
Die Einstellungen dazu müsstest du in den Projekteigenschaften finden.
Einfach dort mal nachschauen und dazu die Hilfe lesen.

Eventuell wär noch ein Programm welches Setup's erstellt interessant.
Diese sollten solche Abhängigkeiten mit berücksichtigen und dann
automatisch installieren.

gruß ralf

Autor: Tuttifrutti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wie genau macht man so etwas?
In den Projekteigenschaften steht nirgentwo etwas mit "Publishing", oder 
steht es da wieder unter einem extra Cosenamen?

Kannst du mir so ein Setupprogramm empfehlen?

Sorry, Aber ich bin, was das compilieren angeht ein "Anfänger". Ich habe 
mich noch nicht näher damit beschäftigt.

Ich hoffe du/ihr helft mir noch einmal,

Tuttifrutti

Autor: Tuttifrutti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir jemand so ein Setupprogramm empfehlen, oder kann mir jemand 
erklären wie ich ein Native image erzeuge? Geht das überhaupt in VC++ 
2005 Express edition, oder brauche ich da eine Pro Version oder so?

Tuttifrutti

Autor: Mostwantedprogrammer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Tuttifrutti,

Probiers mal mit Inno Setup. Ich weiß aber nicht, ob das auch für VC++ 
geht.

Mostwantedprogrammer

Autor: Fuchtel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

an Ralf W. Wo meinst du gibt es diese "Pulishing methode"?

Ich habe die wie Tuttifrutti nicht gefunden. Ich habe mit rechtsklick 
auf Projektordner im ClassView Fenster geklickt, dann auf 
Projekteigenschaften aber keine "Publishing funktion gefunden.

Fuchtel

Autor: Ralf W. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also kann das sein das die Professional Editions einen Installer 
mitliefern?

Ich programmiere mit Visual Studio Express allerdings in Basic. Mein 
Programm habe ich auf Rechner mit Win98 und XP verteilt.

Dazu musste ich das .Net Redistributable in der richtigen .Net Version
auf dem Zielrechner installieren. Ich programmiere mit Visual Studio
mit der .Net Version 2.0 . Also brauche ich dies hier:
http://www.microsoft.com/downloads/details.aspx?Fa...

Auf Win98 lief dieses Setup nicht auf Anhieb. Es fehlten dort wichtige
Updates. Die hab ich von hier: http://www.update.microsoft.com 
installiert.

Auf den XP Rechner lief das Setup problemlos.

So. Damit sind die Vorbedingungen geschaffen.

Da das Programm nicht verteilt wird, sondern nur intern in der Firma 
benutzt wird, geht das Release für mich so.

Ich kopiere den kompletten Inhalt des bin/release bzw des bin/debug 
Ordners
auf den Zielrechner.
Sollte mein Programm von weiteren Dateien (z.B. dll's) abhängen, muß ich 
die natürlich mit in den Ordner auf dem Zielrechner kopieren.

Das wars mein Programm ist installiert und läuft.

Allerdings habe ich auch mit relativen Pfaden gearbeitet. Also
keine harcodierten. Diese Einstellungen und weitere kann ich immer wenn 
ich
eine neue Version aufgespielt habe beim ersten Start vornehmen.
Dazu habe ich die My.Settings Klasse verwendet. Ich weiss aber
nicht ob es den Namespace My auch bei C++ gibt.

Das ist grob der Weg den ich nutze.

Lösung 2:
Microsoft hat ins Visual Studio eine Publishing Funktion eingebaut.

Man startet Visual Studio und wählt ein Projekt aus. Mit einem Rechts-
klick im Solution Explorer auf das Projekt öffnet sich ein Kontextmenü.
Dort klickt man auf Eigenschaften (Properties).
Damit öffnen sich die Projekteigenschaften. In diesem Dialog
kann man zB. Compileroptionen einstellen, ... .
Dort befindet sich auch die Publishing Funktion. Allerdings weiss
ich nicht wie die auf Deutsch im Studio heißt, weil ich nur die
englischsprachigen Express Versionen installiert habe.
Ich hänge aber mal ein Screenshot mit an.

Ich habe aber diese Funktion noch nicht benutzt, weil ich MSDN nicht 
lesen wollte :-).
Also was man da Wie, Warum, Wo und Was einstellt müßtest du selbst 
nachlesen und eventuell hier posten ;-).


Lösung 3:
Es gibt Programme die Setups erstellen. Vorgeschlagen wurde schon
Inno Setup. Man kann auch irgenwie die Windows Installer nutzen.
Diese habe ich auch noch nicht genutzt.
Deshalb.
Also was man da Wie, Warum, Wo und Was einstellt müßtest du selbst 
nachlesen und eventuell hier posten ;-).

gruß ralf

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.