Hilfe!!! Verknüfung verursacht Absturz
-
Hallo Allerseits,
ich habe ein riesen Problem und hoffe ich kann von euch einen Tipp bekommen.
Ich habe ein kleines Löschprogramm geschrieben. Mit dem Programm InnoSetup, lasse ich mir aus meinen vorhandenen Dateien eine Setupdatei erzeugen (so ähnlich wie InstallShield nur Kostenlos und nicht so komfortabel). Bei der Installation kann der User auswählen, ob ein Desktopicon erzeugt werden soll...usw.
Wir das Programm über den Installationsordner aufgerufen und ausgeführt, klappt alles wunderbar. Wenn aber über die Desktopverknüpfung der Aufruf erfolgt, sturzt das Programm ab. Ich habe auch schon eine Idee woran das liegen könnte...
In meinem Programm wird nach der Installation eine Datei im Installationsordner angelegt...(bzw. beim ersten Aufruf des Programms, wenn auf meinem Button "Ordner Hinzufügen" geklickt wird)..und zwar so stehts in der Source...CStdioFile file;
CString filename,txt;
filename="C:\\Programme\\Eraser\\UsrPath.txt";file.Open(filename,CFile::modeCreate | CFile::modeNoTruncate |CFile::modeWrite))
In dieser Datei (UsrPath.txt)werden später selbsdefinierte Pfade gespeichert und beim klick auf nem Löschebutten gelesen und beim Löschen berücksichtigt.
Rufe ich nun über die Verknüfung das Programm auf, stürzt es ab...bzw. bekomme die Fehlermeldung...str!=NULL...wenn ich die Eigenschaften der Verknüpfung betrachte, steht unter Ziel, der Pfad des installierten Programms...jedoch das Feld "Ausführen in" ist leer...ich denke es wird versucht im Sartverzeichnis die Datei UsrPath.txt anzulegen und aus dieser zu lesen...vielleicht kann mir ja einer sagen, wie ich im Eintrag "Ausführen in" ebenfalls das Programm mit dem entsprechenden Eintrag des Programmpfades ausführen lassen kann, bzw. wie ich überhaupt einen Eintrag dort hinein bekomme???
Gruss dbase
-
Hallo,
ich nochmal :p
ich habe jetz mal manuell in das Feld "Ausführen in" den Pfadnamen des Programmes eingegeben...und es funktioniert wirklich...also wäre das Problem gelöst, wenn ich in diese Feld einen Eintrag hinbekommen könnte.