如何以编程方式删除广告的快捷方式?

时间:2009-04-14 17:14:23

标签: windows-installer advertised-shortcut

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

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

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

2 个答案:

答案 0 :(得分:3)

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

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

Rob有一篇很好的帖子详细介绍了the pitfalls of using MSIZAP的一些内容。除非您准备手动搜索它留下的所有注册表信息,否则这不是您想要使用的内容。

答案 1 :(得分:1)

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