我已经使用Inno 5.5.9创建了一个安装程序,并且正在安装许多需要标记为共享的二进制文件,因为第二个安装程序可以将另一个程序安装到同一目录中,并且这些文件在两个程序中是通用的。
我正在用'sharedfile uninsnosharedfileprompt'标志标记这些文件,但是即使未使用它们也不会在卸载时被删除。
在测试中,我安装了主程序,然后立即将其卸载。卸载日志说这是这些文件的“递减共享计数”,但是共享计数未达到零。这是Windows 10上安装的32位程序。
#define SourceDirectory "..\bin2017\win32"
#define InstallPath "{app}\bin\Win32\"
[Files]
Source: "{#SourceDirectory}\*.dll"; DestDir: "{#InstallPath}"; Flags: ignoreversion sharedfile uninsnosharedfileprompt
要使此功能正常工作,我缺少什么?是什么原因导致卸载程序无法将共享计数递减为零?
如果您需要更多信息或代码,请告诉我(这是我在优秀网站上的第一个问题)。 预先感谢。
答案 0 :(得分:0)
原始位置的路径很可能具有一些孤立引用。
我相信您的代码正确并且安装程序的行为正确。这只是引用计数的局部问题。