所以,我今天刚拿起Inno,尝试获得Unity游戏的基本安装程序。 Inno的安装程序部分工作得很好,不幸的是,卸载程序根本不起作用。我已经浏览了文档,并在Google上搜索过,并且在这个问题上没有看到太多内容。 Inno文档推荐使用我尝试过的[UninstallDelete]部分,结果类似。
[Setup]
AppName=Installable Files
AppVersion=1.0
DefaultDirName={pf}\Installable Files
DefaultGroupName=Installable Files
UninstallDisplayIcon={app}\File.exe
Compression=lzma2
UninstallFilesDir={app}\uninst
SolidCompression=yes
[Files]
Source: "File.exe"; DestDir: "{app}"; DestName: "File.exe"
Source: "Files\*"; DestDir: "{app}\Files"; Flags: recursesubdirs
Source: "Files\README.txt"; DestDir: "{app}"; Flags: isreadme
[Icons]
Name: "{group}\Files"; Filename: "{app}\File.exe"; WorkingDir: "{app}"
[UninstallDelete]
Type: filesandordirs; Name: "{pf}\Files"
上面代码的输出显示它正在删除子目录中的所有文件,但无法删除目录w /(145)错误代码,然后说明unistallation进程成功。无论是从Inno Setup Compiler,uninst000.exe还是从Windows中的“添加/删除程序”运行卸载程序,都是一样的。
实际上并没有卸载任何东西的安装程序/卸载程序很烦人,所以如果对此问题有任何了解,那就太棒了。
(请注意我也尝试删除[UninstallDelete]下的个别文件,例如Type: files; Name: "{app}\LGODemo.exe"
,但没有成功)
编辑: After Install
如图所示,由于145错误,没有文件被删除。卸载程序然后再次尝试,并显然删除文件夹,除了它们仍然存在,并且该文件仍然是100%可执行文件。我只在初始卸载文件失败时添加了UninstallDelete部分。
抱歉,对于Dropbox链接,在我有更好的代表之前无法发布imgs。
答案 0 :(得分:1)
除非您另有说明,否则Inno将删除它安装的所有内容。
此外,对文件夹执行显式[UninstallDelete]
可能会产生不良副作用,尤其是在路径错误的情况下({app}
vs {pf}\blah
)。想象一下,如果有人将您的应用安装到C:\Windows\
?你刚刚删除了他们的Windows安装!
答案 1 :(得分:0)
我得到了你做错了什么,你应该删除
UninstallFilesDir={app}\uninst
部分默认为{app}
并且不要使用[UninstallDelete]
。使用上述方法,它应该删除所有文件。
如果您想使用[UninstallDelete]
,请使用
[UninstallDelete]
姓名:{app} \;键入:filesandordirs
而不是
[UninstallDelete]
Type: filesandordirs; Name: "{pf}\Files"
尝试