论坛风格切换切换到宽版
  • 2204阅读
  • 3回复

innosetup 安装时,替换,保留,删除文件 [复制链接]

上一主题 下一主题
离线ricetendto2
 

发帖
31
金钱
310
威望
31
只看楼主 倒序阅读 0 发表于: 2016-10-15
在安装过程中,怎么替换文件,同时,如果是安装包中没有的文件,就删除掉,保留那些运行时产生的文件,如日志,配置文件等
离线wanfu

发帖
2728
金钱
12110
威望
1211
只看该作者 1 发表于: 2016-10-16
这个看 Inno Setup 的帮助就知道了啊,首先要学会看帮助。

安装时删除使用下列语法,它可以根据指定的类型参数,删除指定文件或目录:
[InstallDelete]
Type: files; Name: "{win}\MYPROG.INI"

卸载时删除使用下列语法,它可以根据指定的类型参数,删除指定文件或目录:
[UninstallDelete]
Type: files; Name: "{win}\MYPROG.INI"

下列是所支持的参数列表:
Type  (必需的)
指定安装或卸载时要删除的是什么。必须是下面中的一个:

files
该 Name 参数指定一个详细的文件名,或带通配符的文件名。

filesandordirs
除同时还匹配目录名外,功能与 files 相同,并删除任何名字匹配的目录以及包含它们中的所有文件和子目录。

dirifempty
当使用这个参数时,Name 参数必须是目录名,但它不能包含通配符。该目录只在不包含任何文件或子目录的情况下才被删除。

Name  (必需的)
要删除的文件或目录名。
注意: 不要尝试在这里使用通配符用来删除 {app} 目录中的所有文件。强烈推荐你不要这么做有两个原因。首先,用户通常不希望将他们放置在应用程序目录中的数据文件在没有警告的情况下被删除 (例如,如果用户将它移动到其它驱动器,那么有些不用删除的内容将被删除)。最好是保留它让最终用户在安装或卸载后手动删除。同时,如果用户由于过失刚好将程序安装在危险的目录(例如,C:\WINDOWS),如果这时安装或卸载时将后果严重。再说一遍,不要这么做!
离线ricetendto2

发帖
31
金钱
310
威望
31
只看该作者 2 发表于: 2016-10-17
回 1楼(wanfu) 的帖子
wanfu:这个看 Inno Setup 的帮助就知道了啊,首先要学会看帮助。 安装时删除使用下列语法,它可以根据指定的类型参数,删除指定文件或目录:Type: files; Name: "{win}\MYPROG.INI"....... (2016-10-16 17:13) 

您好,可能我描述的不太具体,比如说,我在第一次安装时,有一个a.dll文件,此时,我第二次安装,且是覆盖安装,并且安装包中,没有a.dll,那么,我就想将a.dll删除,同时,覆盖其他的文件,您给的帮助文档,貌似没有支持这种情况
离线wanfu

发帖
2728
金钱
12110
威望
1211
只看该作者 3 发表于: 2016-10-17
不管你的是那一次安装要删除文件,你只要在删除文件的那个安装程序中按照前面说的做就可以,你先试试看。