论坛风格切换切换到宽版
  • 2802阅读
  • 4回复

求高手指点,关于INNO在安装前删除指定目录下文件夹 [复制链接]

上一主题 下一主题
离线xytt159
 

发帖
2
金钱
20
威望
2
只看楼主 倒序阅读 0 发表于: 2013-09-23
我的想法是,在安装前删除安装目录下的某个文件夹以及文件夹内所有文件。
但是安装目录是通过注册表信息获取的。
这样的话,程序该怎么编写呢?
我尝试过使用deltree 但是没有成功,
文件夹是空的可以删除,文件夹不是空的就无法删除。实在费解。
离线xytt159

发帖
2
金钱
20
威望
2
只看该作者 1 发表于: 2013-09-23
求高手解答啊
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 2 发表于: 2013-09-24
deltree 是可以删除文件夹,连同里面的子文件夹。注意使用正确的参数。

最好把你的代码贴出来,别人才能帮助你找到错误。
离线凡笔

发帖
6
金钱
60
威望
6
只看该作者 3 发表于: 2013-10-19
我也有同样的问题
这是代码:
  1. procedure CurStepChanged (CurStep: TSetupStep );
  2. begin
  3.   if CurStep = ssInstall then
  4.     DelTree ('{app}\Materials\*', False, True, True);
  5. end;
我想在安装前删除安装目录下的 Materials 文件夹里的所有文件和子文件夹
安装目录是通过注册表获取的

离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 4 发表于: 2013-10-19
楼主的问题肯定是使用不当。
楼上的问题是没有转换常量:在 CODE 段要注意把常量进行转换,比如不能直接用 '{app}\Materials\*',而是
ExpandConstant('{app}\Materials\*')