Inno Setup安装前删除旧文件和文件夹

来源:百度知道 编辑:UC知道 时间:2024/06/26 03:06:55
我做了一个文件包,每次更新都要用户删除原来的AddOns文件夹,很是烦人,但是我的水平很菜很菜,不会让他安装前先删除原来的目录.希望大侠教教我这个小白 :P

使用Inno Setup默认功能删除这些不用的垃圾文件以达到干净卸载的目的。
  代码如下:
  //注意!代码必须使用[code]段才能够正常运行
  [code]
  //删除所有配置文件以达到干净卸载的目的
  procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
  begin
  if CurUninstallStep = usUninstall then
  if MsgBox('您是否要删除用户配置信息?', mbConfirmation, MB_YESNO) = IDYES then
  //删除 {app} 文件夹及其中所有文件
  DelTree(ExpandConstant('{app}'), True, True, True);
  end;
  [/code]
  if MsgBox('您是否要删除用户配置信息?', mbConfirmation, MB_YESNO) = IDYES then //此行代码的定义是提示用户是否删除配置信息,如果选择是则删除已安装程序的App文件夹,清空所有数据,以达到完全卸载的目的
  当然选择否的时候会留下用户的配置,可以方便用户重新安装程序而不再自定义用户数据
  DelTree(ExpandConstant('{app}'), True, True, True); //此行代码的定义是删除所有App文件夹的内容,如想删除Temp中的内容则可以将{app}更换为{Tim}等自定义段,完全清空~ 此操作不可逆转!

在控制面板的程序和功能里找到后卸载,然会去软件安装位置看看有没有残留删除掉。

可以这样:
[installDelete]
Type: filesandordirs; Name:"{app}\AddOns\*";