安装时如何判断文件存在而不覆盖(100分)

G

gazh

Unregistered / Unconfirmed
GUEST, unregistred user!
程序文件中有数据库文件,当重新安装时会覆盖所有文件,包括那个数据库文件,如何才能判断该文件存在而不至于在重新安装时覆盖,是在script中写吗,如何写?
ps:我本来是将数据文件放在另一个component中,只能从自定义安装中打勾选择安装,但这样十分麻烦,所以不采用。
 
if not FileExists('yourfilename') then
begin
...覆盖
end;
 
将不能覆盖的文件单独放在一个component中,在properties中的“file update method”选项下选择“nerver overwrite file”即可
 
to youngwhz:我用的installshiel是InstallShieldProfessional622版的,component属性页中没有“file update method”这项啊?你用的是什么版本的installshiel?
to simbasun:呵呵,我说的不是在delphi中判断,而是在installshiel中设置。
 
如果你可以接受的话,不妨使用IsE for Delphi4 ,可以很容易解决这个问题。
虽说生成的包大些,但是比较方便。
 
我一直用installshiel做安装盘,它的功能确实也很强大,呵呵,相信论坛上一定会有大虾
能解决这个问题的。
 
找到一个函数Is (nIsFlag, szIsData),可设nIsFlag为"FILE_EXISTS"判断是否存在文件,
我现在的做法是:若文件存在,将此文件改名,安装后再将文件名恢复,卸载时也是如此,
不知大家还有什么good idea吗?
 
to youngwhz:呵呵,我不是在component中设置的,而是在file groups中设置其uninstall
及overwrite属性。
 
顶部