Inno Setup verysilent 卸载选项是否删除共享文件?

Does Inno Setup verysilent uninstallation option remove shared files?

Inno Setup 提供的 /VERYSILENT 选项在使用集中式软件将应用程序部署到整个组织时非常有用,但有一些我不完全清楚的好处。

特别是,在删除需要取消注册并标记为共享对象的 dlls/com 控件(卸载期间)时,它的行为如何?如果没有 /VERYSILENT 开关,将显示一个弹出窗口,以允许用户 select 是否应删除这些对象。

是否使用默认选项(“是”,意思是“删除对象”)?

是的,sharedfile 文件在静默和非常静默的卸载中删除:

2021-01-04 11:42:56.253 Log opened. (Time zone: UTC+01:00)
2021-01-04 11:42:56.253 Setup version: Inno Setup version 6.1.2
...
2021-01-04 11:42:56.253 Uninstall command line: /SECONDPHASE="C:\Program Files (x86)\My Program\unins000.exe" /FIRSTPHASEWND=0FFA /INITPROCWND=1118 /log="B:\sharedo\uninstall.log" /verysilent
...
2021-01-04 11:42:56.284 Starting the uninstallation process.
2021-01-04 11:42:56.285 Decrementing shared count (32-bit): C:\Program Files (x86)\My Program\MyDll.dll
2021-01-04 11:42:56.285 Shared count reached zero.
2021-01-04 11:42:56.416 Deleting file: C:\Program Files (x86)\My Program\MyDll.dll
2021-01-04 11:42:56.416 Deleting directory: C:\Program Files (x86)\My Program
2021-01-04 11:42:56.955 Deleting directory: C:\Program Files (x86)\My Program
2021-01-04 11:42:56.986 Uninstallation process succeeded.
2021-01-04 11:42:56.986 Removed all? Yes
2021-01-04 11:42:56.986 Need to restart Windows? No
2021-01-04 11:42:56.988 Log closed.


同时检查 TExtUninstallLog.ShouldRemoveSharedFile function in Inno Setup source code