• beyond tellerrand – play. Register Now!
Zurück   Flashforum > Flex und AIR > Adobe AIR

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 11-03-2010, 22:14   #1 (permalink)
Neuer User
 
Registriert seit: Jun 2007
Beiträge: 9
Air Badge

Hallo,

ich habe mir eine Konsolen-Anwendung in C# geschrieben, die überprüft ob eine Installation der Air-Runtime vorliegt und ggf. nachinstalliert. Anschließend wird überprüft ob die Air-Anwendung installiert ist und auch ggf. nachinstalliert. Funktioniert einwandfrei (XP, Vista und Seven). Außerdem werden die gespeicherten Benutzerdaten bei einer neuinstallation gelöscht, da Air diese Funktionalität leider nicht zur Verfügung stellt.

Das gleiche habe ich für Mac in c programmiert. Funktioniert auch einwandfrei, wenn ich es in xcode ausführe, doch wenn ich das App-Bundle selbst starte wird der Pfad nicht richtig erkannt. Habe nachgelsen, dass der Pfad zur Binary und nicht zum App-Bundle zurückgegeben wird. Dafür habe ich eine Funktion geschrieben, die mir den Pfad vom Anfang des String bis zum ersten vorkommen von .app zurückgibt, da ich keine andere Möglichkeit gefunden habe. Hilft aber leider auch nicht. Ich habe also kein Ahnung, welcher Pfad mit von getcwd zuirückgegeben wird.

Was ich auch schon probiert habe ist, zu Prüfen ob mir der Pfad übergeben wurde und den zu verwenden.

<code>

if(argc > 0)
cwd(argv[0]);

</code>

Würde mich freuen, wenn jemand eine Idee hat oder die Problematik selbst kennt. Würde auch den c, sowie den c# Code freigeben. Habe hier im Forum schon öfter Beiträge gesehen, die eigentlich so eine Funktionalität benötigt hätten. Air 2.0 dauert halt noch ein wenig.

Geändert von a.stueben (12-03-2010 um 09:07 Uhr)
a.stueben ist offline   Mit Zitat antworten
Alt 13-03-2010, 14:10   #2 (permalink)
Neuer User
 
Registriert seit: Jun 2007
Beiträge: 9
Lösung

Hier die Lösung:

Code:
// Liefert Absoluten Pfad zum .app Verzeichnis
// Bsp.: /Users/Ich/Application.app
NSString* appBundlePath = [[NSBundle mainBundle] bundlePath];

// NSString zu C String konvertieren
const char* cAppBundlePath = [appBundlePath cStringUsingEncoding:NSASCIIStringEncoder];

// Jetzt muss nur noch Application.app abgeschnitten werden
// und man kann Dateien die neben der App liegen ansprechen.
// Das hat leider mit getcwd() nicht funktioniert, da der falsche Pfad
// zurückgegeben wurde.
a.stueben ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Stichworte
air, app, exe

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
AIR Install Badge: Autostart-Checkbox ausgrauen KeyifR Adobe AIR 0 19-10-2009 18:46


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:56 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele