cscorp21 Geschrieben 5. Juli 2007 Geschrieben 5. Juli 2007 Hallo Leute, ich bin jetzt etwas entnervt. Nachdem ich schon zig Stunden gegoogelt hab, frage ich euch. Vielleicht weiß jemand von euch weiter. ich hab ein Programm mit dem Visual Studio 2005 (Programmiersprache c#) erstellt und will dieses Portable machen. Sprich ich will, das es OHNE dem .NET-Framework 2.0 auskommt. So nach dem Motto: Einfach nur auf USB-Stick kopieren, starten, fertig ! Weiß jemand von euch, wie ich das mache? Zitieren
Klotzkopp Geschrieben 5. Juli 2007 Geschrieben 5. Juli 2007 Sprich ich will, das es OHNE dem .NET-Framework 2.0 auskommt.Dann hast du dir die falsche Sprache ausgesucht. Sprich: Das geht nicht. Zitieren
MarkusLe Geschrieben 5. Juli 2007 Geschrieben 5. Juli 2007 Dafür sind .NET Programme nicht ausgelegt, genausowenig wie Du Javaprogramme ohne Virtual Machine laufen lassen kannst. Macht auch überhaupt keinen Sinn, das Framework wird in allen neuen Windows Versionen standardmäßig mitinstalliert und in ein paar Jahren wirst DU praktisch keinen Rechner finden, auf dem es nicth installiert ist, allein schon weil es mit irgendeiner zukünftigen Anwendung sowieso mitinstalliert würde^^ Wenn Dir das Framework 2.0 zu groß ist, um es mit Deiner Anwendung mitzuliefern bleibt dir ja immenroch das 1.1er Framework, das is nur halb so groß, oder Du nimmst direkt das Compact Framework, das hat auch nur 25 MB. Du kannst Deine .NET Anwendungen vom USB Stick starten, sobald das Framework installiert ist Alternativ kannst Du natürlich auf VB +Runtime oder C++ +Runtime zurückgreifen, da musst Du dann vorher kein .NET installieren. MfG Markus Zitieren
cscorp21 Geschrieben 5. Juli 2007 Autor Geschrieben 5. Juli 2007 hallo, erstmal danke für eure antworten. Jetzt jedoch noch ne Frage, laut dem Konzept von .NET ist doch keine Registrierung der DLLs mehr nötig. Was ja bei ActiveX erforderlich war. Oder irre ich mich da? Wenn Nein, könnte ich dann nicht einfach die DLLs, die mein Programm benötigt, in das Programm-Verzeichnis kopieren, anstatt das ganze .NET auf meinem USB-Stick "mitzuschleppen" ? Zitieren
MarkusLe Geschrieben 5. Juli 2007 Geschrieben 5. Juli 2007 .NET Programme werden nicht direkt von Windows geladen, darum kümmert sich die CLR, jeder Start einer .NET .exe Datei wird automatisch an die CLR weitergeleitet, welche dann die entsprechenden DLLs lädt, hinundwiedermal den JIT Compiler anschmeißt um den IL-Code in Maschienencode zu übersetzen und eben Den .NET Code ausführt. Um Deine Frage kurz und knapp zu beantworten, nein, das geht nicht. Bei ActiveX (COM) wurden dlls registriert, damit Du eine DLL in vielen Anwendungen verwenden kannst, egal in welcher Sprache diese geschrieben wurden, z.B. kannst Du mit VB oder mit C++ alle ActiveX DLLs verwenden, die Excel API wäre eine davon. Bei .NET ist dies deutlich einfacher, solange es sich um .NET Programme handelt, die die .NET DLLs verwenden sollen, genügt es sie in den GAC zu kopieren. Willst Du .NET DLLs z.B. mit VB6 oder C++ verwenden, dann musst Du sie mit regasm genauso wie früher bei nativen Anwendungen mit regsrv32 registrieren. Sollen die DLLs nur von deiner Anwendung verwendet werden, dann genügt es (heute in .NET, wie auch früher bei native Code) die Dateien im gleichen Verzeichnis abzulegen wie Deine Anwendung. MfG Markus Zitieren
Argbeil Geschrieben 5. Juli 2007 Geschrieben 5. Juli 2007 Hi, es gab für .NET 1.0/1.1 mal ein Tool das alle nötigen Dateien in die .NET EXE gelinkt hat, damit würde das gehen, sowas gibts für Java auch. Leider ist mir der Name entfallen. Allerdings gibts dann natürlich keinen Support mehr von MS. Prinzipiell hast du die falsche Sprache gewählt wenn du das Framework nicht installieren willst. Gruß, Manu Zitieren
cscorp21 Geschrieben 5. Juli 2007 Autor Geschrieben 5. Juli 2007 welche Sprache hätte ich denn dann nehmen sollen? C++ oder hätte ich auf .NET komplett verzichten müssen?? mich irritiert das nur alles ein bisschen, da es das programm keypass portable auf portableapps.com gibt, welches auch mit dem .NET Framework geschrieben ist, allerdings problemlos auf Rechnern ausgeführt werden kann, die kein .NET-Framework haben. Zitieren
Klotzkopp Geschrieben 5. Juli 2007 Geschrieben 5. Juli 2007 welche Sprache hätte ich denn dann nehmen sollen? C++ oder hätte ich auf .NET komplett verzichten müssen??Wenn du ohne Framework auskommen willst, ja. Du musst übrigens zwischen C++ und C++.NET bzw. C++/CLI unterscheiden, das sind zwei paar Schuhe. Letztendlich braucht fast jede Sprache eine Laufzeitumgebung, aber nicht alle sind gleich groß, manche sind sowieso schon weit verbreitet, und manche sind gleich beim Betriebssystem dabei. mich irritiert das nur alles ein bisschen, da es das programm keypass portable auf portableapps.com gibt, welches auch mit dem .NET Framework geschrieben ist, allerdings problemlos auf Rechnern ausgeführt werden kann, die kein .NET-Framework haben.keepass ist ein MFC-Programm. Kein .NET. Zitieren
Argbeil Geschrieben 5. Juli 2007 Geschrieben 5. Juli 2007 Ja, du kannst auch Visual Basic 6 nehmen, Delphi, C++. Im Prinzip fast alles was einen Compiler und einen Linker hat, da kannst du (fast) immer die nötigen Bibliotheken und Runtimes zu der EXE dazu linken. Gruß, Manu Zitieren
cscorp21 Geschrieben 5. Juli 2007 Autor Geschrieben 5. Juli 2007 hmm.. hab jetzt nicht explizit nachgeschaut, aber aus eigener Erfahrung weiß ich, das es ja in .NET noch möglich ist MFC-Anwendungen zu machen.. halt nur in C++ (klaro MFC gibs ja auch nur in C++) hmm.. blöd. Jetzt hat sich portable wohl für mein Progrämmchen erledigt. Es seidem, ich mach noch ne PDA-Version draus, oder mach das komplette Programm in C++ MFC neu.. *schauder* Schade aber gut, was will man machen. Danke für eure Antworten. Das Thema ist damit eigentlich auch schon erledigt. Zitieren
Klotzkopp Geschrieben 5. Juli 2007 Geschrieben 5. Juli 2007 hab jetzt nicht explizit nachgeschaut, aber aus eigener Erfahrung weiß ich, das es ja in .NET noch möglich ist MFC-Anwendungen zu machen..Vorsicht. Du wirfst da offenbar .NET (Entwicklungsplattform) und Visual Studio .NET (Entwicklungsumgebung) durcheinander. Mit letzterer kannst du auch nicht-.NET-Programme schreiben, z.B. mit MFC. Das ist dann aber nicht "in .NET", wie du es nennst. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.