本帖最后由 a_wind 于 2010-11-13 12:42 编辑 If FileExists("@AppDataDir\Roaming\Windsoft\net.conf") Then
$answer =MsgBox(52, "覆盖安装?", "您已经安装了本程序!"& @CR & @CR &"如果要进行覆盖安装,请点击“是”"& @CR & @CR &"如需全新安装,请点“否”"& @CR &"然后手动卸载已经安装的版本后再次运行本程序")
If $answer = 7 Then
Exit
EndIf
TrayTip("文件存在", "但用户选择了覆盖安装,此时应该以/S参数运行安装程序……", 5, 1)
runwait("sysbox.exe")
Else
TrayTip("文件不存在", "检测到指定的文件不存在,说明没有安装本软件,此时应该运行安装程序…… ", 25, 1)
runwait("dicts.exe")
EndIf
以上就是我需要实现的全部功能,我遇到的问题就是@AppDataDir宏的问题,我需要FileExists用检测指定的文件是否存在,但是,If FileExists("@AppDataDir\Roaming\Windsoft\net.conf") Then 这个写法无效!
除了@AppDataDir以外,其他所有的代码都没问题。我将@AppDataDir换为绝对路径测试过了,能正常执行所有代码,但是实际情况下不能使用绝对路径,必须使用环境变量。
所以,我现在就想请教的就是:
如何用@AppDataDir宏 检测到指定的文件,说白了就是如何让@AppDataDir宏起效?
即如何让If FileExists("@AppDataDir\Roaming\Windsoft\net.conf") Then这句话生效? |