Seite 3 von 3

Verfasst: 16.05.2007 14:01
von ts-soft
Um den Pfad in die Registry einzutragen, ist z.B. dieser Pfad üblich:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

Verfasst: 16.05.2007 14:03
von Little John
cofter hat geschrieben:Das Programm soll nach möglichkeit später auch nach Linux portiert werden.
cofter hat geschrieben:werde InnoSetup zum installieren verwenden dort könnte man die uninstall.dat evtl auslesen und den Pfad von dort übernehmen.
Gibt's jetzt Inno Setup auch für Linux? Hab' ich gar nicht mitbekommen.

Gruß, Little John

Verfasst: 16.05.2007 14:07
von cofter
Nein, gibts noch nicht.
Aber da wir eh erst in der Beta sind brauch ich jetzt noch keinen Linux installer.

@ts-soft

Ich will ja nix in die Registry eintragen die muss nich zugemüllt werden. ;)

Verfasst: 16.05.2007 14:26
von Little John
Dann lass halt Inno Setup die Information, wohin die ominöse Datei kopiert wurde, in eine einfache Textdatei schreiben. Diese Textdatei mit der Pfad-Information kann sich z.B. im selben Verzeichnis wie Dein Hauptprogramm befinden, so dass das Hauptprogramm weiß, wo es die Information finden kann.

Gruß, Little John

Verfasst: 16.05.2007 14:26
von ts-soft
cofter hat geschrieben:@ts-soft

Ich will ja nix in die Registry eintragen die muss nich zugemüllt werden. ;)
Entweder Installer oder zumüllen, Installer ohne zumüllen geht nicht. Oder Installer ohne Uninstaller, aber dann haste wieder keine Möglichkeit die
Anwendung zu finden.

Die andere Anwendung kann es aber auch einfach unter Anwendungsdaten speichern:

Code: Alles auswählen

EnableExplicit

Procedure.s GetSpecialeFolder(folder.l)
  Protected *itemid.ITEMIDLIST = #Null
  Protected location.s = Space (#MAX_PATH)
  If SHGetSpecialFolderLocation_ (0, folder, @*itemid) = #NOERROR
    If SHGetPathFromIDList_ (*itemid, @location)
      If Right(location, 1) <> "" : location + "" : EndIf
      ProcedureReturn location
    EndIf
  EndIf
EndProcedure

Define.s ConfigPath = GetSpecialeFolder(#CSIDL_APPDATA) + "MyProgramFolder"
MakeSureDirectoryPathExists_(ConfigPath)
If OpenPreferences(ConfigPath + "MyConfig.prefs") = #False
  If CreatePreferences(ConfigPath + "MyConfig.prefs") = #False
    Debug "Kann Preference nicht erstellen"
    End
  EndIf
EndIf
PreferenceGroup("Settings")
WritePreferenceString("AppDir", GetPathPart(ProgramFilename()))
ClosePreferences()
Muß einfach von der Anwendung bei jedem Start ausgeführt werden, dann
werden auch Verschiebungen berücksichtigt.

Das andere Programm kann jetzt den Pfad dort abfragen

Verfasst: 16.05.2007 16:35
von cofter
Danke für den Code... leider bin ich damit überfordert. :(
PB is zu lang her... *stöhn*

Kann kein PB crack mir ein wenig zur Hand gehen? :)
Nähere Infos würde ich per PN, icq, mail oder MSN geben.