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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Inno Setup安装前删除旧文件和文件夹相关的知识,希望对你有一定的参考价值。

我做了一个文件包,每次更新都要用户删除原来的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等自定义段,完全清空~ 此操作不可逆转!
参考技术A 在控制面板的程序和功能里找到后卸载,然会去软件安装位置看看有没有残留删除掉。 参考技术B 可以这样:
[installDelete]
Type: filesandordirs; Name:"app\AddOns\*";本回答被提问者和网友采纳

inno setup打包的安装文件更换位置后图标改变了

参考技术A innosetup打包的安装文件更换位置后图标改变了。
应该是以前给C盘改的那个图标在移动文件夹的过程中无意被移动过,
如果记得位置的话可以自己找下那个图标还在不在
重新更改下下C盘图标就行了
至于桌面的快捷方式像楼上说的,删掉没用的,去程序所在文件夹找到执行文件创建一个快捷方式到桌面就可以了
建议以后不要这样随意移动程序文件,因为程序在安装过程中是会吧文件路径写入注册表的,移动后可能导致意想不到的麻烦
装东西之前先规划好文件夹,是在要变动路径的话直接卸载再在想要的位置重装都行

以上是关于Inno Setup安装前删除旧文件和文件夹的主要内容,如果未能解决你的问题,请参考以下文章

用inno setup如何让程序在安装后删除安装文件夹中无用的文件?

inno setup打包的安装文件更换位置后图标改变了

inno setup 在卸载时如果想保留文件 使用uninsneveruninstall

关于Inno Setup卸载程序删除文件夹的问题

INNO SETUP卸载时为啥不能强制删除安装目录

在安装过程中使用 Inno Setup 删除另一个未随 Inno Setup 安装的应用程序