1
我的应用程序设置为应用程序将写入的日志文件创建一个新目录。使用Inno Setup卸载已创建的日志文件
[Dirs]
Name: "{app}\log"; Permissions: users-modify
现在,当它被卸载时,我想要删除日志文件以及日志目录。这通常不会发生,因为日志文件对于卸载程序是未知的,并且不会被删除,并且日志目录不是空的,因此它也不会被删除。
所以我加入这个来删除这些文件:
[UninstallDelete]
; Delete log files
Type: files; Name: "{app}\log\*.log"; Check: not IsDowngradeUninstall
注意,这不应该是由其他代码确定降级卸载发生。
现在我对Inno Setup文档感到困惑。它说项目最后处理,我。即删除从其他部分创建的任何内容后。这是否意味着使用此代码我的日志文件将被删除,但日志目录不是?我还需要重复这样的事情在UninstallDelete部分:
Type: dirifempty; Name: "{app}\log"
哦,我可能还需要一个{app}
本身,因为它已经不能只要“日志”中删除了仍然存在......
如果Inno Setup可以按照他们实际上可以工作的方式排列东西,那它会不会更聪明?还是它已经这样做?
如果要删除整个目录,最好使用['filesandordirs'] (http://www.jrsoftware.org/ishelp/index.php?topic=uninstalldeletesection&anchor=filesandordirs)标志,而不仅仅是“文件”。 – TLama 2015-02-07 21:50:34
是的,但我想只删除我知道的文件类型。如果用户放置了其他东西,我也不想删除它。因此文件模式。 – ygoe 2015-02-07 21:54:55