【问题标题】:How to "refresh" Windows 7 start menu from NSIS installer?如何从 NSIS 安装程序“刷新”Windows 7 开始菜单?
【发布时间】:2010-10-27 21:44:22
【问题描述】:

我有一个在开始菜单中创建快捷方式的安装程序 (NSIS)。当我删除程序时,卸载会从以下位置删除文件夹:

C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\

不幸的是,该文件夹仍在开始菜单中。也许这只是刷新开始菜单的问题 - 但是如何从 NSIS 卸载程序中进行呢?

【问题讨论】:

    标签: nsis uninstallation startmenu


    【解决方案1】:

    Win7 可能和Vista 一样,在不告诉你的情况下将快捷方式复制/移动到所有用户的开始菜单。在您的脚本中使用 RequestExecutionLevel 来停止此操作。

    http://nsis.sourceforge.net/Shortcuts_removal_fails_on_Windows_Vista

    【讨论】:

    • 两个人在没有 cmets 的情况下否决了正确答案? Anders 可能是 SO 上知识最渊博的 NSIS 脚本编写者。
    • 这可能是Win7的“抨击”。如果有人能给我一个很好的理由为什么 NSIS 得到这种待遇,我会编辑我的帖子。
    • "Win 7 糟透了..." 或者,也许,nsis 应该正确运行。基于 MSI 的安装程序没有这个问题...
    • @Robert P:当然 MSI 没有这样的问题,因为它甚至不是可执行文件(真正的引擎是操作系统的一部分)这种愚蠢的行为是针对损坏的安装程序,因为我们没有一台时间机器,即使是 100% 工作的(较旧的)安装程序也会中断,因为他们的清单中没有所需的字符串。 MS 为所有安装程序打开了兼容性黑客,您必须选择退出。 (并且每个新版本的 Windows 的退出方法都会发生变化!)
    • 再见,答案有偏见。不幸的是,我还不能以同样的方式擦洗 cmets……。
    【解决方案2】:

    我没有 Windows 7 的副本,所以我不能确定,但​​您确认您删除的文件夹是开始菜单中的实际文件夹(我假设它是因为您最初创建它)。

    您可以在开始菜单中找到该文件夹​​,右键单击并打开它。

    不过,这可能是一个愚蠢的建议。 :)

    【讨论】:

    • 开始菜单快捷方式指向 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\ 这可能是开始菜单选项被缓存的地方但是......重新登录后这些快捷方式仍然存在那里:/也许有更好的方法来删除开始快捷方式(同时保持它与以前的Windows版本兼容)。请注意:我在使用 WiX 时没有遇到这些问题
    • 我问的原因是因为在 XP 和其他版本的 Windows 中,开始菜单项来自两个位置:用户目录和“所有用户”目录。所以我的想法是,快捷方式已经在两者中创建,但只从一个中删除!
    猜你喜欢
    • 2023-03-19
    • 1970-01-01
    • 2023-03-29
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-20
    • 1970-01-01
    相关资源
    最近更新 更多