nsis uninstaller不会删除链接

ghi*_*boz 8 nsis shortcut uninstallation

我有这个问题:在安装程序部分我有这个;

Section "Start Menu Shortcuts"
    SetShellVarContext current
    CreateDirectory "$SMPROGRAMS\myProgram"
    CreateShortCut "$SMPROGRAMS\myProgram\myProgram.lnk" "$INSTDIR\myProgram.exe" 
    CreateShortCut "$SMPROGRAMS\myProgram\Uninstall myProgram.lnk" "$INSTDIR\myProgram-Uninstall.exe"
SectionEnd

Section "Desktop Shortcut"
    SetShellVarContext current
    CreateShortCut "$DESKTOP\myProgram.lnk" "$INSTDIR\myProgram.exe"
SectionEnd
Run Code Online (Sandbox Code Playgroud)

它工作正常,我在桌面上有图标,图标加上start\programs ...树上的卸载图标

卸载程序部分是这样的:

SetShellVarContext current
Delete "$DESKTOP\myProgram.lnk"
Delete "$SMPROGRAMS\myProgram\myProgram.lnk"
Delete "$SMPROGRAMS\myProgram\Uninstall myProgram.lnk"
RMDir "$SMPROGRAMS\myProgram"
Run Code Online (Sandbox Code Playgroud)

和桌面链接被删除,但其他文件夹与链接没有..任何想法?

存储的文件夹是这个(我在win 7 64位):

C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
Run Code Online (Sandbox Code Playgroud)

And*_*ers 7

你的脚本中有RequestExecutionLevel吗?没有它,Windows可能会对您的快捷方式进行一些兼容性攻击.

如果这没有帮助,尝试Process Monitor,它可能能够解释这个问题......

  • 我不知道为什么"RequestExecutionLevel admin"对我不起作用,但"SetShellVarContext all"确实... (2认同)