卸载后不删除nsis快捷方式

时间:2016-03-18 20:38:57

标签: installer nsis

我正在使用nsis为我的应用程序创建Windows安装程序。我在启动菜单中添加了应用程序和uninstall.exe的快捷方式,并在卸载过程中将其删除,但卸载过程中不会删除快捷方式。安装和卸载代码片段如下:

section "install"
    createDirectory "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}\"
    createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}\${APPNAME} Uninstall.lnk" "$INSTDIR\uninstall.exe"
    createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}\${APPNAME}.lnk" "$INSTDIR\app.exe" "" "$INSTDIR\logo.ico" 
sectionEnd

section "uninstall"
    delete "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}\${APPNAME}.lnk"
    delete "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}\${APPNAME} Uninstall.lnk"
    rmDir /r "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}"    
sectionEnd

有人可以帮我解决这个问题吗。

1 个答案:

答案 0 :(得分:0)

添加一些关于您在哪个Windows版本上看到这些内容的详细信息会有所帮助,但我会猜测this only happens on Vista and later。这些版本的Windows具有兼容性填充程序,可将某些快捷方式移动到所有用户的开始菜单。

要阻止Windows执行此操作,您必须将安装程序标记为UAC兼容,这可以通过在脚本中添加RequestExecutionLevel属性来完成。