我正在使用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
有人可以帮我解决这个问题吗。
答案 0 :(得分:0)
添加一些关于您在哪个Windows版本上看到这些内容的详细信息会有所帮助,但我会猜测this only happens on Vista and later。这些版本的Windows具有兼容性填充程序,可将某些快捷方式移动到所有用户的开始菜单。
要阻止Windows执行此操作,您必须将安装程序标记为UAC兼容,这可以通过在脚本中添加RequestExecutionLevel
属性来完成。