:安装完以后运行出现 file not found(100分)

  • 主题发起人 主题发起人 xp166
  • 开始时间 开始时间
X

xp166

Unregistered / Unconfirmed
GUEST, unregistred user!
wise,Inno Setup分别做了一个安装程序,打进去了两个EXE,安装都一切正常,安装完以后,在开始里
运行那个主程序,出现file not found的message,点桌面的快捷方式(快捷方式指向的是安装目录下的
EXE),也会出这个错,但到安装目录里执行就是好的,另一个EXE就没有这个问题,怎么回事。程序作
的是可以开机启动,但开机时也会出现file not found的message,实际上,进程已经起来了
 
这个可能跟你现在的应用的当前目录有关。。
如果你的应用中有对文件的引用是绝对路径的话,应该不会出现这样的问题。。
你引用文件的地方应该加上应用程序的当前路径。。
:)
 
to darnis
可是安装前我怎么会知道应用程序的当前路径
:)
 
对,跟当前路径有关,快捷方式的属性里,都一个起始位置,
这个位置设为你的应用程序所在的路径,就可以了
做安装程序,应该可以配置这个东西的,你找找,把这个配好,就可以了
 
to twos
快捷方式指向的是安装目录下的EXE
路径没错啊
:)
 
引用文件用的当前路径,所以不对。
如果在安装目录运行没问题的话
在桌面快捷方式,右键-》属性 在起始位置 框里填上你的安装目录,确定,再运行应该可以了
同样,开始-》程序里也是右键,属性,改起始位置
不过怎么直接在安装时,由安装程序设置我就不知道了
 
to Avenir
事情就是这样奇怪,安装目录是对的
 
呵,,
你在应用程序中引用文件时
调用 。。
yourfilename := extractfilePath(application.exename)+'/youfilename';
 
你手动建立一个快捷方式试一下!
 
to darnis
我就是这样做的:)
 
你的程序里面是否引用了其他的文件或者程序?
是否使用了绝对路径或者相对路径?
建议使用如楼上所写的方法来实现。
或者你可以修改快捷方式,更改其执行目录为可执行文件所在目录试验一下。
 
to yzhshi
我就是这样做的:)
 
我说的是修改快捷方式的“起始位置”
 
如果你指定的地方存在你的指定的文件而打不开的话,
是不可理解的,,不过不可理解的事的确多。
如果你指定的地方根本就不存在指定的文件,那这就是一个大笑话了。

:-)
 
to yzhshi
我修改了起始位置,的确就好了
但,不能让用户修改起始位置啊,你有好办法吗?
 
估计应该是用getcurrentdir引起的吧?
它所取得的是当前路径。
桌面快捷方式启动时得到的结果是桌面路径。
而应用程序目录下的EXE启动时得到的是绝对的路径。
改变程序中的一些写法。利用在打包时所设置的安装路径来实现控制。
 
to armyjiang
我用的是extractfilePath
 
出错的原因肯定是由于你的进程在启动时会进行相关的文件操作,而该文件的路径没能正确
识别。
不过具体你用的是哪个函数倒是无关紧要的。
你可以先在本机上进行调试,看看有无问题(要根据出错现象来争取在本机上模拟出同样的
情况)。
一般情况下出现这种情况,我会选择在注册表中加入有关的信息,并在打包时加入。
 
问题是到安装目录里执行就是好的,我我修改了开始里文件属性的起始位置就好了

目标里的"D:/Program Files/xxts/filename.exe"
起始位置里的"D:/Program Files/xxts/"
注册表HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run
里的"D:/Program Files/xxts/filename.exe"

 
to yzhshi
我修改了起始位置,的确就好了
但,不能让用户修改起始位置啊,你有好办法吗?

目标里的"D:/Program Files/xxts/filename.exe"
起始位置里的"D:/Program Files/xxts/"
注册表HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run
里的"D:/Program Files/xxts/filename.exe"
 

Similar threads

D
回复
0
查看
877
DelphiTeacher的专栏
D
D
回复
0
查看
845
DelphiTeacher的专栏
D
D
回复
0
查看
795
DelphiTeacher的专栏
D
后退
顶部