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
exe-Datei geht auf anderen Computer nicht?
my_csharp
myCSharp.de - Member



Dabei seit:
Beiträge: 9

Themenstarter:

exe-Datei geht auf anderen Computer nicht?

beantworten | zitieren | melden

Ich vewende die Programmiersprache C#.
Entwicklungsumgebung Visual C# 2005 Express.

Ich habe einige Sourcecodes mit eine Oberfläche geschrieben.
Das Programm verwendet noch dazu eine dll Datei. Wenn ich es compeliere wird im bin/debug Ordner eine exe - Datei erstellt.

Wenn ich bei mir am Computer die exe-Datei (dll - Datei ist vorhanden) starte wird eine GUI- Oberfläche geöffnet.

Wenn ich die exe-Datei und die dll-Datei auf einen anderen Computer hinkopiere funktionieren diese nicht mehr wenn ich sie öffne.

Wie kann ich das Problem lösen?


Wenn ich im Scourcecode die dll - routine auskommentiere und kompeliere; und nur die exe-Datei auf einem anderem Computer starte, öffnet Problemlos die GUI-Oberfläche.
private Nachricht | Beiträge des Benutzers
frisch
myCSharp.de - Member

Avatar #avatar-1724.gif


Dabei seit:
Beiträge: 2.082
Herkunft: Coburg / Oberfranken

beantworten | zitieren | melden

Hallo my_csharp,

lol... .net Framework installieren bzw. updaten wenn 1.1 installiert ist?
Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de
private Nachricht | Beiträge des Benutzers
Lord Hessia
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Gießener Umland

beantworten | zitieren | melden

Na, es liegt wohl eher an der fehlenden dll. Die wird nicht mit in die exe gepackt. Di musst Du noch mit auf den anderen Rechner kopieren - oder gleich nen Installer basteln (zu Setup Projekt müsste sich hier auch einiges in der Suche finden lassen).
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.
private Nachricht | Beiträge des Benutzers
my_csharp
myCSharp.de - Member



Dabei seit:
Beiträge: 9

Themenstarter:

Mir ist noch etwas unklar

beantworten | zitieren | melden

die .net Framework ist im letzten stand
Framework 2.0

welche fehlenden dll?
Du meinst die dll, die mit der exe-Datei arbeitet.

Wie soll ich die dll-datei in eine exe-Datei packen?

Wie kann ich im csharp einen Installer erstellen??
private Nachricht | Beiträge des Benutzers
willy
myCSharp.de - Member



Dabei seit:
Beiträge: 343
Herkunft: München

beantworten | zitieren | melden

Hallo my_csharp,
Zitat
Wie soll ich die dll-datei in eine exe-Datei packen?

Wie kann ich im csharp einen Installer erstellen??
Hast du mal Hier geguckt??


Willy
C#, einfach geil 8)
private Nachricht | Beiträge des Benutzers
my_csharp
myCSharp.de - Member



Dabei seit:
Beiträge: 9

Themenstarter:

Ich benötige eine Antwort

beantworten | zitieren | melden

ja es ist eine lustige Webseite.
Aber ich brauche trotzdem eine Antwort im Forum.
private Nachricht | Beiträge des Benutzers
Lord Hessia
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Gießener Umland

beantworten | zitieren | melden

Zitat
Original von my_csharp
Aber ich brauche trotzdem eine Antwort im Forum.
Warum?
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.
private Nachricht | Beiträge des Benutzers
TiTime
myCSharp.de - Member



Dabei seit:
Beiträge: 68

beantworten | zitieren | melden

Wieso so kompliziert?
Kopier die Dll einfach mit der Exe mit.
Außerdem kannst dann im Programm überprüfen ob die dlls vorhanden sind oder nicht.
Einen Installer kannst eh machen, der dann die dlls mit imporitert.
Aber das hat nicht so viel mit c# zu tun sondern eher mit Visual studio. Keine Ahnung ob die express version sowas inkludiert hat.
private Nachricht | Beiträge des Benutzers
willy
myCSharp.de - Member



Dabei seit:
Beiträge: 343
Herkunft: München

beantworten | zitieren | melden

Hallo my_csharp,
Zitat
Wieso so kompliziert?
Lesen und verstehen was da beschrieben ist :-)

Was auf der Webseite beschrieben ist, ist genau was du brauchst wenn du ein Installer erstellen willst.

Was TiTime gesagt hat, ist auch richtig, denn mit dem Installer, wird dein dll mitgenommen, da brauchst du nicht jedesmal die exe und die dll zu kopieren.


Willy
C#, einfach geil 8)
private Nachricht | Beiträge des Benutzers
Lord Hessia
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Gießener Umland

beantworten | zitieren | melden

Zitat
Original von willy
Was TiTime gesagt hat, ist auch richtig, denn mit dem Installer, wird dein dll mitgenommen, da brauchst du nicht jedesmal die exe und die dll zu kopieren.

Ja, das habe ich auch schon in meinem ersten Beitrag gesagt. Ich weiß nicht, wo das Problem ist. Dll kopieren will my_csharp offenbar nicht (sonst hätte er es ja getan) und die Anleitung zum Setup-Erstellen will er sich auch nicht durchlesen. Da bleiben dann nicht mehr so viele Möglichkeiten.
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3.170
Herkunft: Trier -> München

beantworten | zitieren | melden

Hallo,
my_csharp schreibt doch:
Zitat
Wenn ich die exe-Datei und die dll-Datei auf einen anderen Computer hinkopiere funktionieren diese nicht mehr wenn ich sie öffne.
Also vermute ich das Problem eher woanders...
Vielleicht hat diese dll noch andere Abhängigkeiten? Wo kommt sie denn her? Kannst Du da vielleicht etwas genauer werden, my_csharp?
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
private Nachricht | Beiträge des Benutzers
VizOne
myCSharp.de - Member

Avatar #avatar-1563.gif


Dabei seit:
Beiträge: 1.373

beantworten | zitieren | melden

Zitat
funktionieren diese nicht mehr
Das ist übrigens nicht wirklich eine ausreichende Fehlerbeschreibung. Wenn ich in einer Werkstatt anrufe und sage "Mein Auto funktioniert nicht mehr" wird kaum jemand in der Lage zu sein, mir zu helfen.

- Was machst du genau?
- Was für eine Fehlermeldung tritt auf?

Grüße,
Andre
private Nachricht | Beiträge des Benutzers
my_csharp
myCSharp.de - Member



Dabei seit:
Beiträge: 9

Themenstarter:

beantworten | zitieren | melden

Antwort für MarsStein
Die dll-Datei verwendet keine anderen dll's
Wenn ich im Sourcecode alle dll-deklarationen und funktionen auskommentiere, und neu kompiliere. -> Dann funktioniert die exe-Datei auch am anderen Computer wenn diese hinkopiere und starte.


Antwort für vizone:
Es kommt keine Fehlermeldung wenn ich die exe-Datei starte. Es kommt einfach kein GUI Oberfläche.




Ich habe eine exe-Datei und eine dll-Datei auf meinem Computer, diese sind in einem Ordner, wenn ich eine exe-Datei starte kommt eine GUI-Oberfläche.

Wenn ich diese Dateien(exe,dll) euch geben würde, und ihr würdet die exe-Datei starten kommt kein GUI - Oberfläche.
Ich weiss nicht warum dass so ist, ich weiss nur das es nicht funktioniert, mehr weiss ich auch nicht.

Normalerweise wenn ich mit C++, Visual Basic oder C# mit MS Visual Studio programmiere und den Scourcecode compeliere wird eine exe-Datei erstellt,
(ob eine dll-Datei verwendet wird oder nicht).

Wenn ich exe und die dll Dateien auf einen anderen Computer hinkopiere müsste sie funktionieren. Tut sie aber nicht.
private Nachricht | Beiträge des Benutzers
MarsStein
myCSharp.de - Experte

Avatar #avatar-3191.gif


Dabei seit:
Beiträge: 3.170
Herkunft: Trier -> München

beantworten | zitieren | melden

Hallo,
dashört sich alles ziemlich merkwürdig an.
Zitat
Es kommt keine Fehlermeldung wenn ich die exe-Datei starte. Es kommt einfach kein GUI Oberfläche.
Versuch mal, den gesamten Code innerhalb Main() in einen try-catch-Block zu stecken, es müßte jazumindest irgendeine Exception fliegen...


public static void Main(string[] args)
{
  try
  {
    // Dein bisheriger Code in Main
  }
  catch(Exception e)
  {
    MessageBox.Show(e.ToString());
  }
}
Vielleicht kommst Du dann der Sache auf die Spur.

EDIT:
Ich schreibe das nur so, weil es sich um die Main()-Funktion handelt.
Es empfiehlt sich im allgemeinen nicht, die MessageBox zum Debuggen heranzuziehen, v.a. wenn man mit mehreren Threads arbeitet. Da können sehr seltsame Effekte auftreten.
Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca
private Nachricht | Beiträge des Benutzers
my_csharp
myCSharp.de - Member



Dabei seit:
Beiträge: 9

Themenstarter:

beantworten | zitieren | melden

Das Programm ist nicht in threads geschrieben.

Ich hab nur in main-Methode try-catch Block hineingeschrieben.

Den Code hab ich kompeliert und auf meinem Computer die exe-Datei ausgeführt.
Es funktioniert ohne Fehlermeldung.

Und ich habe dann die exe- und die dll- Datei auf einem anderen Computer kopiert und ausgeführt.
Es kommt eine Fehlermeldung.

AS3931 ist der Name der exe-Datei
Program ist eine ".cs" - Datei und der Name einer Klasse in dieser Datei.
Main() ist eine Methode in der Klasse "Programm"
Main_win ist der Name einer Klasse, es ist eine Ableitung der Klasse Form.

Diese lautet:
System.Security.SecurityException: System.Security.Permission.SecurityPermission at AS3931.Main_win..ctor()
at AS3931.Program.Main()#
The type of the first permission thar failed was:
System.Security.Permission.SecurityPermission
The Zone of the assembly that failed was:
MyComputer

Das bekomme ich als Fehlermeldung heraus.
Ich weiss nicht, wie ich das Problem lösen soll?
private Nachricht | Beiträge des Benutzers
Lord Hessia
myCSharp.de - Member



Dabei seit:
Beiträge: 497
Herkunft: Gießener Umland

beantworten | zitieren | melden

Mit der Fehlermeldung kannst Du jetzt z.B. hier im Forum nochmal suchen und u.a. folgendes finden: SecurityPermission bei Application.Exit()
Sarkusmus ist, wenn nichts mehr hilft, außer Lachen.
private Nachricht | Beiträge des Benutzers
talla
myCSharp.de - Experte

Avatar #avatar-3214.jpg


Dabei seit:
Beiträge: 6.862
Herkunft: Esslingen

beantworten | zitieren | melden

Was machst du denn im besagten Konstruktor?
Baka wa shinanakya naoranai.

Mein XING Profil.
private Nachricht | Beiträge des Benutzers
my_csharp
myCSharp.de - Member



Dabei seit:
Beiträge: 9

Themenstarter:

beantworten | zitieren | melden

Welchen Konstruktor?
private Nachricht | Beiträge des Benutzers
typhos
myCSharp.de - Member



Dabei seit:
Beiträge: 243

beantworten | zitieren | melden

Na sicherlich im Main_win-Konstruktor... einen anderen hast Du doch nicht, oder?
private Nachricht | Beiträge des Benutzers
my_csharp
myCSharp.de - Member



Dabei seit:
Beiträge: 9

Themenstarter:

beantworten | zitieren | melden

Variablen zuweisen.

nichts besonderes

was hat es mit dem Problem zu tun?
private Nachricht | Beiträge des Benutzers
talla
myCSharp.de - Experte

Avatar #avatar-3214.jpg


Dabei seit:
Beiträge: 6.862
Herkunft: Esslingen

beantworten | zitieren | melden

Im Konstruktor tritt ne Security Exception auf, das heißt du machst irgendwas was, wofür du nicht genug Rechte hast. Arbeitest du mit Netzlaufwerken, oder bist auf den Nichtentwicklungsrechten als normaler User eingeloggt und versuchst irgendwo was hinzuschreiben wo du nicht darfst? etc.?
Baka wa shinanakya naoranai.

Mein XING Profil.
private Nachricht | Beiträge des Benutzers
my_csharp
myCSharp.de - Member



Dabei seit:
Beiträge: 9

Themenstarter:

Danke für die Antworten

beantworten | zitieren | melden

Danke an "Lord Hessia" für den Hinweis bei Microsoft .Net Framework (2.0).

Dort musste ich die Sachen einstellen um die exe- bzw dll-Dateien auch für fremde Computer benutzbar zu machen.

Ich hab es geschafft die die exe- /dll - Dateien am frenden Compter zum laufen zu bringen.

Danke an alle die mir eine Antworten/Hinweise/Tips/etc geschrieben haben.
private Nachricht | Beiträge des Benutzers
nils
myCSharp.de - Experte



Dabei seit:
Beiträge: 750
Herkunft: Nähe von Kassel

beantworten | zitieren | melden

Zitat
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von my_csharp am 11.09.2006 14:23

sorry 4 o/t:

das my_csharp hat mich grade echt verwundert 8o 8o
?( wer suchet, der findet auch! :]
private Nachricht | Beiträge des Benutzers
my_csharp
myCSharp.de - Member



Dabei seit:
Beiträge: 9

Themenstarter:

Lösung

beantworten | zitieren | melden

Lösung:

Am anderen Computer.
Im WinXP Professional auf Englisch

"Microsoft .NET Framework 2.0 Configuration" starten:

Im "Start"->"Settings"->"Control Panel"->"Administrative Tools"->"Microsoft .NET Framework 2.0 Configuration".

Die Einstellung:

"Console Root"->".NET Framework 2.0 Configuration"->"My Computer"->"Runtime Security Policy"->
->"Machine"->"Code Groups"->"All Code"

Dort kommt man auf "Properties" - Dialogbox.

Dann auf den Tab "Permission Set" klicken.
Und im "Permission Set" - Combbox auf "FullTrust" einstellen und auf den Button Apply und dann Ok
klicken.

Dann funkrioniert auf anderen Computer die exe- mit dll- Datei.
private Nachricht | Beiträge des Benutzers
Sera
myCSharp.de - Member



Dabei seit:
Beiträge: 285

beantworten | zitieren | melden

Gibt es eine Möglichkeit dies programmiertechnisch zu lösen? DAU's ist das zu schwer.
private Nachricht | Beiträge des Benutzers
sheitman
myCSharp.de - Member



Dabei seit:
Beiträge: 1.047

beantworten | zitieren | melden

ja gibt es:
http://www.microsoft.com/germany/msdn/library/net/FullTrustFuerAssembliesPerSourcecode.mspx
http://www.microsoft.com/germany/msdn/library/net/FullTrustFuerAssembliesMitCaspolExe.mspx

@my_csharp
ich find es erstmal ne "frechheit" sich als namen den forennamen zu nehmen und als weiteres würde ich dir empfehlen das nächste mal etwas detailierter fehlerbeschreibungen und ähnliches zu posten. dann kann man dir viel besser helfen und vermeidet frage-antwort-spiele

um mal dem problem auf den grund zu gehen, denn ist zwar schön ne lösung zu haben, aber bist du dir denn auch der konsquenzen bewußt die du durch deine änderung machst?

kann es sein das du dein programm auf einem netzlaufwerk ausgeführt hast?
private Nachricht | Beiträge des Benutzers
HIZ
myCSharp.de - Member

Avatar #avatar-2313.png


Dabei seit:
Beiträge: 96
Herkunft: Germany

Dll

beantworten | zitieren | melden

Da fehlen noch .NET Framework 2.0 dll's! Auf dem 2. Rechner einfach .NET Framewor Installieren und dann gehts!
Teamarbeit ist, wenn vier Leute für eine Arbeit bezahlt werden, die drei besser machen könnten, wenn sie nur zu zweit gewesen wären und einer davon krank zu Bett läge.
private Nachricht | Beiträge des Benutzers
mighty
myCSharp.de - Member



Dabei seit:
Beiträge: 1

beantworten | zitieren | melden

Hallo @all
Ich habe dasselbe Problem, dass meine EXE nur auf dem Computer funktioniert wo es erstellt wurde (Falls es helfen sollte, ich benutze Visual Studio 2005).

Ich habe die Artikel meiner Vorredner durchgelesen und habe feststellen müssen, dass .Net installiert sein muss.

Meine Frage geht in die Richtung: Kann man es umgehen?
Ich wollte das Prog. meinem Kollegen geben, da er es auch auf der Arbeit mit eingeschänkten Zugriff starten möchte (evtl. kein .Net installiert), müssen die notwendigen Dateien mit integriert werden. Geht das? Und wenn ja, wie muss ich das machen.
Danke im voraus!

Gruß
mighty
private Nachricht | Beiträge des Benutzers
schaedld
myCSharp.de - Member

Avatar #avatar-2533.jpg


Dabei seit:
Beiträge: 1.433
Herkunft: Schweiz

beantworten | zitieren | melden

In Anbetracht von UAC wird sich dies
Zitat
Nichtentwicklungsrechten als normaler User
wohl nicht ändern und dann würd ich so oder so als "normaler" Benutzer entwickeln ;(
Grüsse
Daniel
Space Profile
Wer nicht fragt, der nicht gewinnt
private Nachricht | Beiträge des Benutzers
frisch
myCSharp.de - Member

Avatar #avatar-1724.gif


Dabei seit:
Beiträge: 2.082
Herkunft: Coburg / Oberfranken

beantworten | zitieren | melden

Hallo mighty,

zu dem Thema gibt es hier schon mehr als genug Beiträge. Bitte SuFu benutzen.
Es ist toll jemand zu sein, der nichts von der persönlichen Meinung Anderer hält. - frisch-live.de
private Nachricht | Beiträge des Benutzers