经过大量的试验和错误(主要是由于缺乏文档和示例),我设法创建了将自定义 DLL 作为并行程序集安装到 WinSxS 的 MSI 安装程序。只有一个问题:卸载会将所有文件(DLL、清单和目录)留在 WinSxS 目录中。我怎样才能或应该最好地清理它?我确信没有其他东西引用它。
我在某处读到 WinSxS 有一个自我清理过程,随着时间的推移会清理,但我找不到更多信息。你可以手动调用它来清理东西吗?
我看到的唯一其他方法是手动删除这些位。首先,您必须将所有文件(程序集、目录、清单及其各自目录)的所有者从 SYSTEM 更改为管理员帐户,调整权限并删除它们。注册表中还剩下一些部分(我认为 HKLM\COMPONENTS\DerivedData\Components 可能是一个地方),但由于 WinSxS 应该被视为不透明,因此很难找到任何信息。