我在多台服务器上弄乱了基于 WiX 的安装程序,因此它在卸载期间不再删除文件或组件(甚至其他功能)。MSI 日志显示所有不会卸载的组件上的 PreviouslyPinned=1。
我没有任何花哨的事情,比如使用 SharedDll 计数,甚至在不同安装程序之间共享组件。
我想我已经追踪到我的 WiX 代码的特定版本。我做了几件蠢事。我(无意中)创建了一个带有空白 Guid 的非托管组件
<Component Id="file.ext" Guid="">
<File .../>
<Component>
我还更改了另一个组件的文件位置和 ID(但不是 Guid)。早期版本中存在的所有组件都显示 PreviouslyPinned=1 并且不会卸载,并且在此版本之后添加的新组件可以正确安装/卸载。
我怎样才能让我的安装程序恢复正常并删除这些以前固定的组件?