0

所以我搞砸了一个 msi 安装程序并在仅测试安装后部署它,而不是卸载(我知道,安装后添加了一个 exe 的运行,但忘记指定它应该只在安装而不是卸载时发生)。

我找到了Windows Installer Cleanup实用程序,以及我将用于自动化该过程的相关 msizap。现在的问题是,当之后在顶部安装较新版本时,广告中的快捷方式仍会尝试进行修复(或尝试加载旧版本实际上正在执行的任何操作)并失败。直接从文件运行程序工作正常,但我需要以自动方式删除广告的快捷方式。它现在不需要非常强大,相当小的私人测试版安装基础,因此可以假设快捷方式位于桌面和开始菜单的最初安装位置。

对于广告的快捷方式,我是否需要考虑任何特殊问题,或者我可以将其视为任何其他文件并删除它?

4

2 回答 2

3

就快捷方式而言,它只是一个可以删除的普通文件。

但是,我会提醒您使用 MSIZAP - 它确实是最后的手段,并且留下了很多信息、共享的 DLL 计数、注册表项、文件等。一旦删除了 Windows Installer 信息,您就需要删除与您的程序从注册表。SharedDLL 引用计数是最糟糕的事情,因为当您尝试使用新的 MSI 重新安装/卸载时,它们会搞砸。

Rob 有一篇很好的帖子详细介绍了使用 MSIZAP 的一些陷阱。除非您准备手动搜索它留下的所有注册表信息,否则您不想使用它。

于 2009-04-14T22:15:56.067 回答
1

AFAIK 广告的快捷方式负责进行设置。
这些是特殊的 lnk 文件,它们指向带有 spicel 参数的安装程序,当它们被激活时将执行设置(您可以使用记事本或十六进制编辑器查看信息)。
无论如何,MSI zap 应该已经删除了所有设置的痕迹。
如果您执行 zap 然后按快捷方式,设置是否会运行?或者你得到一个错误?

于 2009-04-14T17:53:09.410 回答