Windows Executables kompilieren

S

sevY

Hi zusammen.

Ich möchte eine Autostart CD hybrid für Mac und Win erstellen.

Dazu gibt es eine Menge Tools im Netz…

Ich würde nun gerne eine kleine Windows executable coden, die beim Aufruf den Standardbrowser mit einer entsprechenden HTML Datei öffnet.

Kenntnisse in C, C++ sind vorhanden.

Wie kann ich diese dann unter X für Windows kompilieren?
Jemand vielleicht ein paar Script Snipplets?

Liebe Grüße

Yves
 
Hi.

Das geht ohne weiteres nicht. Dazu brauchst du nämlich einen Cross-Compiler, d.h. du müsstest dir einen Compiler runter laden der auf einem PPC läuft aber x86-Code erzeugt. Wenn dann noch für Windows, dann brauchst du noch die Header-Dateien für Windows.

Musst dich mal auf http://gcc.gnu.org/ informieren, oder danach googlen. Ist nicht leicht so etwas einzurichten.

Aber wenn du nur einen Autostart haben willst, d.h. beim Einlegen der CD passiert etwas, dann musst du nur eine AutoRun.ini erstellen und entsprechende Befehle reinschreiben. Google einfach mal.
 
Also soweit ich weiß, lässt sich MinGW (--> GCC und so) auch unter Linux kompilieren, um dann unter Linux Win32-Anwendungen zu erstellen. Und weil ja MinGW im Prinzip ja nur ein Windows-Port von verschiedenen GNU-Tools ist, könnte sich das Paket auch unter OSX kompilieren lassen.

Aber ich halte das ganze für viel zu viel Aufwand. Evtl reicht es ja, die HTML-Datei direkt über die Autorun.inf (nicht ini) aufzurufen. Die Datei sähe dann so aus:

[autorun]
OPEN=index.html

Wenn das nicht reicht, dann gibt es grob geschätzt 34380900 Freeware-Tools, die so etwas machen können (und das ohne Windows anfassen zu müssen ;)).
 
Hi.

autorun.inf und nicht ini… das ist korrekt.

Aber das man direkt Dateien damit aufrufen kann, ist eigentlich Unsinn.
Das OPEN Parameter gibt nur ein Programm an, welches bei der ID genannt werden muss. Viel zu wage. Dann erst könnte man nach dem OPEN additiv die Datei angeben…

Naja… und um eben einen Standardbrowser herauszufinden oder zu detecten, oder ob vielleicht der vom Autor gewünschte Browser installiert ist und diesen zu öffnen, wollte ich mir ein kleines Tool coden.
Auch ein Tool, das eine XML Datei aus dem Web lädt und installiert, wollte ich mir basteln.

Freeware Tools sind ja alle schön und gut… aber ich möchte diese Leistung verkaufen… und mein Grundsatz ist es, zwar nicht das Rad neu zu erfinden, aber alles, was ich verkaufe, auch vertreten zu können. Und dazu muss ich es selbst erstellen.

Viel Aufwand ist das ja nicht… ich hab soetwas schon mal unter Windows 98 gemacht… ;) Aber ich habe keine Dose zur Hand und möchte gerne abundzu mal etwas für Win am Mac coden.

Ist bei den Apple Dev Tools nichts dabei?

O.g. Links schaue ich mir mal an.


Liebe Grüße

Yves
 
Yves schrieb:
Hi.

Aber das man direkt Dateien damit aufrufen kann, ist eigentlich Unsinn.
Das OPEN Parameter gibt nur ein Programm an, welches bei der ID genannt werden muss. Viel zu wage. Dann erst könnte man nach dem OPEN additiv die Datei angeben…

Ist bei den Apple Dev Tools nichts dabei?
Yves

1. Also es ist allgemein üblich das in der Autorun.inf z.B. die Setup.exe aufgerufen wird, oder die Autorun.exe

2. Nein. Nur für PPC-Computer.
 
Yves schrieb:
Aber das man direkt Dateien damit aufrufen kann, ist eigentlich Unsinn.
Ich weiß nicht, ob es geht, aber eigentlich wäre es nicht so unsinnig. Naja.
Unter Win9x gab es noch eine ganz einfache Lösung: start.exe
Unter OSX gibt es mit open einen ähnlichen Befehl.
Dann hättest du ganz einfach
OPEN=start index.html
reinschreiben können und alles wäre geritzt.
Vielleicht gibt es einen runDLL-Aufruf mit dem du das machen könntest.

Oder wie wäre es mit einem VB-Script? Der Windows Scripting Host ist seit Win98 dabei. Also wäre die Verbreitung kein Problem.
Die andere Idee, die ich hatte, nämlich mit Mono eine kleine .NET-Anwendung zu schreiben, wäre nicht ganz so das Wahre, denn es hat ja kaum jemand das .NET-Framework installiert.
 
du brauchst f+r windoof eine autorun.inf nach folgendem muster:

Code:
[autorun]
open=winopen \Bilder\index.html
icon=\Bilder\index.html

und zusätzlich ein prog wie winopen: http://www.duckware.com/winopen/
kannst es dir ja ansehen und dann evtl. dein eigenes coden ;)

ich habe früher für den pc damit bild-cd's erstellt, bei denen sich die index-seite automatisch öffnen sollte, klappte auch. :)
 
Ok, ich habe mir mal die Start.exe von Uli Maiboom als Skizze genommen… darf man nur leider nicht dekompilieren & co :D
Diese Datei sucht nach dem Standardbrowser, öffnet diesen und ruft die index.html auf.
Sowas suche ich.

Naja… unter Mac OS X ist Autostart möglich? Wie sieht es denn unter 9 aus?
Funktioniert das identisch?
Ich hab im Forum davon gelesen, das man mit Toast 5 autostart CDs brennen konnte… mit 6 nicht mehr…

Anyway… ich werde eine Hybrid CDROM brennen. Der Windowsteil bekommt die start.exe, index.html und die autorun.inf .
Der Mac OS (9/X) Teil bekommt was…?

Es stellt sich mir nun immer noch die Frage, wie ich Windows Executabes unter X erstellen kann…*irgendwie klingt das alles so, als liesse ich es besser…

–10min später–

Aber das geht nicht… ich hab mir nochmal genau Gedanken gemacht und brauche auf jedenfall eine eigene Executable. Diese werde ich setup.exe nennen. Diese setup.exe soll beim Einlegen der CD aufgerufen werden und überprüfen, ob in einem definierten Verzeichnis eine XML Datei vorhanden ist und welchen Timestamp diese hat. Ist der Timestamp nicht identisch mit dem der Online XML File im Internet, wird diese aus dem Netz geladen und in das Verzeichnis kopiert.
Danach wird die index.html mit dem Standardbrowser aufgerufen.
Eventuell erhält die Setup.exe auch noch Installationsroutinen für Browser, Plugins… mal sehen…

Auf der Dev Tool CD habe ich GCC unter Crosscompiler gefunden. Aber ihr sagt, das geht nicht.

Verdammt… brauch ich wirklich wieder einen PC? Ich hab damals mit Visual Studio den ganzen Kram gemacht.
Es wäre total genial, wenn ich auch unter X Win Apps coden & compilen könnte.

Liebe Grüße

Yves
 
Yves schrieb:
Diese setup.exe soll beim Einlegen der CD aufgerufen werden und überprüfen, ob in einem definierten Verzeichnis eine XML Datei vorhanden ist und welchen Timestamp diese hat. Ist der Timestamp nicht identisch mit dem der Online XML File im Internet, wird diese aus dem Netz geladen und in das Verzeichnis kopiert.
Danach wird die index.html mit dem Standardbrowser aufgerufen.
Eventuell erhält die Setup.exe auch noch Installationsroutinen für Browser, Plugins… mal sehen…

Je nachdem wer die Zielgruppe ist, machst Du dir u.U. nicht unbedingt Freunde mit solchen Aktionen. Und schon gar nicht unter Win.

Grüße,
Flo
 
Hi Flo,

wie, ich mache mir mit einem Installer keine Freunde? Das ganze soll natürlich nicht sillschweigend ablaufen! Sorry, wenn das so herüberkam.
Bem Einlegen der CD soll dann sowas wie „Auf aktuellere Version prüfen? – ja / nein“ kommen… und dann halt mit Fortschrittsanzeige usw. . und noch eine Mitteilung, wenn ein Plugin fehlt und ob das nachinstalliert werden soll…


Immer diese Sache mit „keine Freunde“ machen… nichts gegen dich…

Aber ich finde es hinderlich, wenn teilweise virtuelle Freiheitskämpfer die Flaggen schwingen… In diesem Fall wäre doch ein automatisches Update vollkommen ok. Plugin Installation natürlich nicht.
Kurz nachfragen, ob eine Internetverbindung aufgebaut werden darf… und dann halt die XML aktualisieren.
Was die meisten „IT Guerillas“ vergessen, ist, das „Karl-Heinz“ absolut bräsig ist und meist schon am Dateibrowser oder Login Screen des OS scheitert… Es ist meiner Meinung nach more usable, einem User diese Aufgaben abzunehmen und ihn nicht mit Dialogboxes usw. zu konsultieren, von denen er im Zweifelsfalle eh immer nur auf „ja, weiter, next, yes, download, installer, dowhateveryouwantbutjustdoitandstopaskingme“ klickt. Trotzdem wäre es hier zb auch schon anspruchsvoll, von Kalle zu erwarten, Browser Plugins zu überprüfen und zur Installation freizugeben.

Aber ok… ich weiß ja was du meinst! Mich würde es auch stören, wenn ich nicht weiß, was gerade auf meinem Rechner passiert.

Abe Zielgruppe soll der 0815 User sein, der Consumer Only,… die, die denken, das Internet ist das große blaue I auf dem Desktop. Die, die nicht wissen, was das komische Outlook Express soll… Die, die sich einen ALDI PC kaufen und stundenlang am Supporter hängen müssen, nur weil sie vergessen haben, den Stecker einzustöpseln.

Das soll nicht herablassend sein… aber es entspricht teilweise der Realität.

Dafür sind wir dann ja da… das alles „Anfängersicher“ (ich sage bewusst nicht „Idiotensicher“, da schlechte PC Skills nicht zwangsläufig mit mangelnder Intelligenz zu tun haben) zu machen… Ein wenig empathisch wie Kalle zu denken…

Hmm…

Just my 2 Cents.


Yves
 
Sorry wenn das IT-Guerilla-mässig rüberkam, ich hatte eher das Szenario im Kopf dass das eben ein unbedarfter Anwender (z.B. in einem Büro) macht, und sein IT-ler vermutlich nen Herzkasperl bekommt wenn er das mitbekommt, oder evtl. Logs auswertet in denen dann u.U. ein (verhinderter?) Internetzugriff protokolliert ist.
Nachdem das aber eh nicht die anvisierte Zielgruppe ist bist Du natürlich mit "so simpel wie möglich" am besten beraten.
Ich möchte auch nicht die Fahne der Freiheitskämpfer schwingen (dafür ist mir der Rest der Welt zu sehr egal), ich dachte mir halt nur dass so ein Vorhaben eben u.U. an Admins, oder installierten "Securitytools" die evtl. Autostart verhindern, scheitern kann. Was Plugininstallationen betrifft gebe ich dir aber absolut recht, das ist keine Sache der "Karl-Heinz" gewachsen ist.

:)

Grüße,
Flo
 
hallo yves!

vielleicht reicht es dir ja, Virtual PC auf deinem mac zu installieren und dort einen compiler zu starten, bzw. zu testen?!

ansonsten programmiere es in RealBasic, das kann nach Windows UND Mac compilieren...

ansonsten haste wohl kaum einen andere chance!

greetz
GF
 
na ja, so um die 350 euro denke ich. es gibt aber auch eine demo-version zu testzwecken. vielleicht kennst du ja jemanden, der dir dein proggi auf der vollversion compilen kann? aber wenn du komerzielle software erstellst, dann ist das geld doch gut investiert!

sonst versuche mal, es unter Virtual PC mit einem freeware editor zu coden...

greetz
GF
 
Ich hab weder Virtual PC noch Codewarrior… und auch kein Real Basic Pro…

Bevor ich nun das Geld in solche Mac Software investiere, zumal das eigentlich auch weniger mein Tätigkeitsbereich ist, werde ich mir wohl einen x86 organisieren müssen.
Ich schreibe dann den c Code auf dem Mac und werde das ganze unter Windows XP bei meinem Bruder kompilieren.
Hat jemand auf Anhieb eine Empfehlung für einen Windows Compiler?


Insgesamt finde ich das sehr schade, das die OpenSource Gemeinde da noch nichts erschaffen hat…
Wie genial wäre es, wenn man auf einem sauberen Mac OS X Tools coden und später portieren könnte.

Liebe Grüße

Yves
 
Zurück
Oben Unten