Schrift
[thread]5004[/thread]

reagiert nicht im Startmenü



<< |< 1 2 >| >> 20 Einträge, 2 Seiten
Froschpopo
 2005-05-08 17:21
#43945 #43945
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Mein Tk-Programm läuft einwandfrei als .exe. Ich hab es mit pp -o pro.exe perl.pl -g "compiliert". -g steht bei Par für GUI und entfernt das Dos-Fenster beim starten des programms. Das Programm lässt sich auch prima per Doppelklick auf das Desktop-Symbol öffnen. Wenn ich es allerdings mit Inno Setup ins Startmenü mache, dann reagiert es nichtmehr auf Klicks. Wenn ich es jedoch dann aus dem C:\Programme ordner aufrufe, klappt alles prima (Ordner wurde auch mit Inno Setup erstellt).
Es klappt nur nicht mit dem Eintrag im Start-Menü.
esskar
 2005-05-09 03:17
#43946 #43946
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
schau dir mal die "Eigenschaften" des Menüeintrags an (rechter Mausklick) und prüfe, ob der Wert für "Ziel" richtig ist!
Froschpopo
 2005-05-09 08:15
#43947 #43947
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
guten morgen !

Das Ziel ist richtig, allerdings gibt es keinen EIntrag unter: "ausführen in..."
Ich hab jetzt den Pfad ergänzt und danach hat es funktioniert. Aber wie bring ich jetzt Inno Setup bei, dass es in Zukunft den Pfad mit angeben soll ?
ich hab mal in der Faq nachgelesne und da steht folgendes:

Code: (dl )
1
2
3
4
5
6
My application can't find any of its files when it is started from the shortcut created by Setup. It works fine when I double-click the application's EXE in Explorer.
Your application is most likely not specifying pathnames on the files it is trying to open, so it is expecting to find them in the current directory. Inno Setup by default does not set the "Start In" field on shortcuts its creates; this causes Windows to pick a directory itself, which usually won't be the directory containing your application.

In virtually all cases, this is something that should be corrected at the application level. Properly designed GUI applications should not expect to be started from a particular directory; they should always specify full pathnames on files they open. In Delphi or C++Builder, for example, it's possible to get the full pathname of the directory containing the application EXE by calling: ExtractFilePath(ParamStr(0)). To get the full path of a file named "File.txt" in the application directory, use: ExtractFilePath(ParamStr(0)) + 'File.txt'.

If for some reason you cannot fix this at the application level, you can tell Inno Setup to set the "Start In" field by adding "WorkingDir: {app}" to your [Icons] entries.


aber was genau muss ich jetzt eintragen bei Inno Setup?\n\n

<!--EDIT|Froschpopo|1115613657-->
Froschpopo
 2005-05-09 08:54
#43948 #43948
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ha, ich machs jetzt so:

Name: "{group}\Flirtwelt.net - RealTime Experience"; Filename: "{app}\RealTime.exe"; WorkingDir: "{app}"
Strat
 2005-05-09 18:25
#43949 #43949
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ein script sollte sich aber nie darauf verlassen, dass es in dem verzeichnis ausgefuehrt wird, in dem es liegt... wie man sowas sehr einfach vermeiden kann, habe ich hier im forum schon haeufiger beschrieben, siehe auch perldoc FindBin
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Froschpopo
 2005-05-09 20:45
#43950 #43950
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
ich verwende in meinem Programm eigentlich immer nur relative Pfadangaben, also auf bilder greif ich so zu: img/bild.gif
Mein Problem war ja nicht mein Programm, sondern das Inno Setup welches nur den Pfad zur ausführbaren Datei eingetragen hat, nicht aber den Pfad zum Verzeichnis wo die ausführbare datei liegt.
Wo man das Program letztendlich hin installieren will kann man ja bei der Installation mit Inno Setup selbst bestimmen.

Aber das Thema ist jetzt erledigt :)
Strat
 2005-05-09 21:03
#43951 #43951
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
ich meinte, weil man recht einfach durch Verwendung von use FindBin; die Variable $FindBin::Bin bekommt, die den Pfad zum ausgefuehrten Script enthaelt; und wenn man an diese Variable einen relativen Pfad anhaengt, hast du solche probleme nicht...
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
ptk
 2005-05-09 22:43
#43952 #43952
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
@Froschpopo: Warum benutzt du eigentlich PAR *und* InnoSetup? Eigentlich wuerde es ja reichen, wenn du mit InnoSetup eine Teilmenge von Perl mitsamt deiner Applikation einpackst.
Froschpopo
 2005-05-10 10:56
#43953 #43953
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
dann haben die leute die das programm benutzen ja plötzlich perl aufm computer, ich glaub ja eher nicht dass die das wollen, ich glaub nichtmal dass die wissen was perl überhaupt ist
ptk
 2005-05-10 13:23
#43954 #43954
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Man muss Perl nicht unter C:\Perl installieren oder anderweitig sichtbar machen. Ich habe auch ein grosses Programm, das ich mit einem Subset von SiePerl mit InnoSetup installiere. Das Verzeichnislayout sieht ungefaehr so aus:
Code: (dl )
1
2
3
4
C:\Programme
\MeinProgramm
\MeinProgramm (enthaelt die Perl-Skripte und -Module)
\windows (enthaelt die Perl-Distribution)

Wenn du PAR verwendest, bekommen die Benutzer ja auch Perl mitgeliefert. Sie muessen es nur mit WinZip auspacken.
<< |< 1 2 >| >> 20 Einträge, 2 Seiten



View all threads created 2005-05-08 17:21.