Welche Sprache/Wrapper für unabh. EXE
Obermotz 05.12.2013 - 15:51 2898 13
Obermotz
Fünfzylindernazi
|
Hallo Leute!
Ich soll eine Applikation erstellen, die auf allen Windows-PCs ab XP ohne Installation von Abhängigkeiten (.NET, JRE, VC++ Redistributables) läuft. Der Funktionsumfang wird nicht atemberaubend, aber ich bräuchte zumindest eine Art DataGrid-Komponente. Hat jemand eine Idee, wie man das anstellt?
Gibts da eine prädestinierte Sprache dafür? Ist irgend eine .NET Version vielleicht eh in allen Windows Versionen vorhanden? Irgendwie speziell kompilieren, dass die Abhängigkeiten dazugepackt werden? Oder brauch ich irgend eine Art Wrapper? Gibts da was günstiges?
Jemand Erfahrung mit der Thematik?
tia
|
-=Willi=-
The Emperor protects
|
.NET ist auf XP nicht vorinstalliert iirc. C++ mit Qt könnte ein Kandidat sein. Ich hab sowas noch nie gemacht aber ich bild mir ein schon das ein oder andere Programm gesehen zu haben das mit Qt-Libs daher kam ohne dass ich was davon gemerkt hab .
|
FMFlash
tranceCoder
|
Da wirst du spätestens bei den VC++ redistributables ein Problem bekommen. Im Installer meiner Qt-Software sind zwar auch "alle Abhängigkeiten" drin, das bezieht sich aber nur für Qt-Dlls in Plugins. Diese haben natürlich weitere Abhängigkeiten je nach Qt-Version. In meinem Fall sind das zb die VC++2012 redistributables. Du könntest natürlich versuchen die gebrauchten DLLs selbst rauszusuchen und mit zu packagen. Aber vorsicht: Alles was aus dem WinSXS geladen werden kann hat Vorrang, selbst vor den DLLs die im Verzeichnis deines EXE liegen.
|
Longbow
Here to stay
|
Wie wärs mit einer html5/javascript Webapplikation bzw. einer Java Webapplikation mittels tomcat+(mySQL)+hibernate/spring?
|
Obermotz
Fünfzylindernazi
|
Das wäre der Overkill. Ich muss auf das FS zugreifen, JS fällt also weg. Es geht um ein Programm das OOTB von einem USB Stick laufen soll.. Kennt jemand jWrapper? Hab ich gerade gefunden, hört sich nicht so schlecht an..
|
Longbow
Here to stay
|
Das wäre der Overkill. Ich muss auf das FS zugreifen, JS fällt also weg.
Es geht um ein Programm das OOTB von einem USB Stick laufen soll.. wusst ich ja vorher nicht, hätte auch eine kleine intranet applikation sein können davon abgesehen, html5 kann wohl auf das FS zugreifen aber gut, da scheiterts dann wohl wieder an den xp systemen mit antiker IE version ansonsten hätt ich auf die gachen noch das hier gefunden: http://portableapps.com/apps/utilities/java_portablejWrapper liest sich wie Phonegap für Desktop Programme, solltest du was damit entwickeln würd ich mich über nen kurzen Bericht freuen
|
userohnenamen
leider kein name
|
aber gut, da scheiterts dann wohl wieder an den xp systemen mit antiker IE version das sollt kein problem darstellen mit z.b. portable firefox
|
Longbow
Here to stay
|
das sollt kein problem darstellen mit z.b. portable firefox ja gut, wenn du es konsequent weiterdenkst natürlich die frage is halt, an wen wird das produkt ausgeliefert und wenn die sekretärin plötzlich "statt dem internet" an firefox sieht, die arme kriegt an schwächeanfall und fällt vom sessel
|
wutzdutz
owned by 50''
|
Bei Java kannst du ja ein JRE "mitausliefern"... Batch datei erstellen, Pfad zur java.exe relativ setzen und geht scho :-)
|
Ringding
Pilot
|
Man kann die VC-Redistributables auch recht einfach umgehen, indem man die DLLs einfach ins Programmverzeichnis legt. Das Manifest ebenfalls, dort muss man aber noch händisch die Checksum rauseditieren, IIRC. Das funktioniert bei unserem Produkt in der Firma schon seit Jahren wunderbar so.
|
FastForward
Little Overclocker
|
Hi Obermotz!
Weiss nicht ob das Problem noch aktuell ist: Du kannst z.B. C++ verwenden und statisch linken (bei Visual Studio in den Project-Settings > C/C++ > Code Generation von "Multithreaded DLL" auf nur "Multithreaded" umstellen bzw. bei GCC "-static" angeben). Wenn du externe (=nicht MS Libraries) verwendest musst du natürlich die statische Variante nehmen und nicht die DLL-Variante (ausser du kannst/darfst sie mitliefern). Damit bekommst du *EIN* Executable indem alle Funktionen aus abhängigen Libraries inkludiert sind (d.h. diese brauchen nicht mitgeliefert werden).
Falls du MFC nicht verwenden möchtest (was ich verstehen würde) und dir das Win32-ListView nicht reicht kannst du dich z.B. auf CodeProject.com umsehen, dort gibt es sicherlich einige Grid-Implementationen.
Java-2-Exe, Perl-2-Exe usw. gibt's natürlich auch. Hab alle schon verwendet. Wenn es sich umgehen lässt würd ich aber darauf verzichten und nativen Code schreiben.
Gutes Gelingen FF
|
Snoop
Here to stay
|
Hört sich vielleicht blöd an, aber ich verwende (wenns um wirklich watscheneinfache apps geht) gern autohotkey. Läuft unter Unicode 32 Bit compiled auch auf uralten winxp rechnern problemlos. Einzig die Performance ist auf alten Rechnern spürbar schlecht. Aber mit dem Teil kannst wahnsinnig viel machen. Keine Installation notwendig.
|
Obermotz
Fünfzylindernazi
|
Ich werde nächste Woche mit der Entwicklung beginnen und mir gefällt die Ringding/FastForward-Methode recht gut, nochdazu weil ich in VS bzw. C++ entwickeln kann, in dem ich heimisch bin. Ich werde anschließend meine Erfahrungen posten.
|
quilty
Ich schau nur
|
Hehe. Hab gerade das selbe Thema bei mir liegen. Nach Jahren im .NET Umfeld darf ich ein Windows-Service für Windows 2000 Prof. schreiben ... kein .NET, kein VC-Redist, ... Dafür brauch ich File-I/O, Registry-Zugriff, MD5/SHA, ... "Freu" mich schon auf die Horizonterweiterung.
|