Inno setup 安装完成后是否可以配置卸载程序?

Inno setup 安装完成后是否可以配置卸载程序?,inno-setup,Inno Setup,我在[UninstallDelete]部分列出了要删除的文件列表,以及在执行卸载步骤时要运行的一些代码 我的应用程序最初是使用InnoSetup安装的,但提供的更新没有使用它;应用程序只是下载更新的文件并重新启动。现在,卸载时要删除的文件列表以及自定义代码可能会随着更新而更改,但由于安装程序没有再次运行,卸载程序不再是最新的 有没有办法在每次更新都不运行Inno安装程序的情况下解决这个问题?例如,我可以下载更新版本的unins000.exe/dat并重播旧版本吗?或者有其他方法吗?不允许您将更新

我在[UninstallDelete]部分列出了要删除的文件列表,以及在执行卸载步骤时要运行的一些代码

我的应用程序最初是使用InnoSetup安装的,但提供的更新没有使用它;应用程序只是下载更新的文件并重新启动。现在,卸载时要删除的文件列表以及自定义代码可能会随着更新而更改,但由于安装程序没有再次运行,卸载程序不再是最新的


有没有办法在每次更新都不运行Inno安装程序的情况下解决这个问题?例如,我可以下载更新版本的unins000.exe/dat并重播旧版本吗?或者有其他方法吗?

不允许您将更新作为安装程序包分发,只分发应用程序。更新程序会(非常)安静地运行它们吗?我不知道卸载带有日志的二进制文件是否可移植。如果有条件地安装了任何已安装的文件(因为您可能会记录一些在用户机器上找不到的内容),请确保这些文件不可移植。在任何情况下,为安装在不同机器上的东西分发卸载程序看起来都不是一种可靠的方法,我个人会避免它(即使它碰巧工作)。谢谢你的建议,这可能是最好的方法。该应用程序通常运行在高位,因此这将创建两个UAC弹出窗口,而不是一个,但我看不到任何其他负面影响。这取决于执行设置的进程。经验法则是将
PrivilegesRequired
指令设置为与更新程序相同的权限级别来分发安装程序。出于好奇,几乎所有知名的产品更新都是以这种方式发布的(即使是Windows更新)。这也是因为,例如,网络管理员可以验证并执行单个更新设置文件,而不是将一组文件复制到其网络客户端。