【发布时间】:2017-01-17 12:35:04
【问题描述】:
我在使用 inno setup 安装后遇到了一些剩菜问题。
我在[FILE] 部分设置了Flags: deleteafterinstall,它工作正常,直到我添加了一些代码,在安装期间将目标文件夹重命名为不同的名称,从那时起,Inno Setup 将所有带有该标志的文件保持不变看起来很乱。
作为解决方案,我创建了这个简单的批处理文件,我在安装结束时通过[CODE] 部分运行该文件。
Clean_Up.bat:
del /s /f *.rej
del /s /f *.orig
del /s /f sed*
del /s /f *.patch
del /s /f *.exe
del /s /f *.bat
我是这样复制这批的:
[FILE]
Source: "{#CompPath}\BatchFiles\Clean_Up.bat"; DestDir: "{app}\subfolder"; Flags: deleteafterinstall
我用这个来启动它:
[RUN]
Filename: "{app}\res_mods\Clean_Up.bat"; flags: runhidden;
问题是这个批处理应该也清理 .batch 文件,结果是CleanUp.bat 也被删除了,这是不需要的。
我想通过将其复制到 {app} 而不是 {app}\subfolder 来解决这个问题,并将批处理文件编辑到这个:
del /s /f subfolder\*.rej
del /s /f subfolder\*.orig
del /s /f subfolder\sed*
del /s /f subfolder\*.patch
del /s /f subfolder\*.exe
del /s /f subfolder\*.bat
但是它给了我错误:The system cannot find the file specified.
有人可以告诉我如何让它工作吗?我认为最好的方法是用pascal代码重写这个批处理并放在代码部分,但我不知道如何。
【问题讨论】:
-
为什么还要重命名文件夹?为什么不直接安装文件哟
res_mods? -
必须彻底修改安装程序安装到该文件夹的方式。我们现在有一种情况,有三个不同的客户端版本,我想支持它们。以前没有问题,但现在我必须处理一个新情况,所以我现在正在寻找一个最简单快捷的解决方案,然后再进行返工。
-
我的回答有帮助吗?还是你需要别的东西?
标签: inno-setup