问题描述
Inno Setup 提供的 /VERYSILENT
选项在使用集中式软件将应用程序部署到整个组织时非常有用,但有一些好处我并不完全清楚。
特别是,在删除需要注销并标记为共享对象的 dll/com 控件(在卸载期间)时,它的行为如何?如果没有 /VERYSILENT
开关,则会显示一个弹出窗口,允许用户选择是否应删除这些对象。
解决方法
是的,sharedfile
文件会在静默和非常静默的卸载中删除:
2021-01-04 11:42:56.253 日志已打开。 (时区:UTC+01:00)
2021-01-04 11:42:56.253 安装版本:Inno Setup 版本 6.1.2
...
2021-01-04 11:42:56.253 卸载命令行:/SECONDPHASE="C:\Program Files (x86)\My Program\unins000.exe" /FIRSTPHASEWND=$530FFA /INITPROCWND=$461118 /log="B:\ sharedo\uninstall.log"/verysilent
...
2021-01-04 11:42:56.284 开始卸载过程。
2021-01-04 11:42:56.285 递减共享计数(32 位):C:\Program Files (x86)\My Program\MyDll.dll
2021-01-04 11:42:56.285 共享计数达到零。
2021-01-04 11:42:56.416 正在删除文件:C:\Program Files (x86)\My Program\MyDll.dll
2021-01-04 11:42:56.416 删除目录:C:\Program Files (x86)\My Program
2021-01-04 11:42:56.955 删除目录:C:\Program Files (x86)\My Program
2021-01-04 11:42:56.986 卸载过程成功。
2021-01-04 11:42:56.986 全部删除?是的
2021-01-04 11:42:56.986 需要重新启动 Windows?没有
2021-01-04 11:42:56.988 日志已关闭。
同时检查 TExtUninstallLog.ShouldRemoveSharedFile
function in Inno Setup source code。