NSIS提供了很好的软件卸载功能编写的方法,但是针对win8.1和win10操作系统,由于开始目录的权限限制,我们有时候并不能完美的完成所需要的功能----卸载程序的快捷方式不能显示。话不多说,下面提供解决方法:

  运用all用户权限和current用户权限各写一遍即可解决问题。下面是我打安装包卸载的快捷方式的代码:

  SetShellVarContext current
CreateDirectory "$SMPROGRAMS\立思辰合众"
CreateDirectory "$SMPROGRAMS\立思辰合众\智课堂"
CreateShortCut "$SMPROGRAMS\立思辰合众\智课堂\智课堂.lnk" "$INSTDIR\U-Teach.exe"
;高级配置
CreateShortCut "$SMPROGRAMS\立思辰合众\智课堂\高级配置.lnk" "$INSTDIR\AdvancedConfig.exe"
CreateShortCut "$SMPROGRAMS\立思辰合众\智课堂\配置.lnk" "$INSTDIR\Config.exe"
CreateShortCut "$SMPROGRAMS\立思辰合众\智课堂\卸载智课堂.lnk" "$INSTDIR\Uninst.exe" SetShellVarContext all
CreateShortCut "$DESKTOP\智课堂.lnk" "$INSTDIR\U-Teach.exe"
CreateDirectory "$SMPROGRAMS\立思辰合众"
CreateDirectory "$SMPROGRAMS\立思辰合众\智课堂"
CreateShortCut "$SMPROGRAMS\立思辰合众\智课堂\智课堂.lnk" "$INSTDIR\U-Teach.exe"
;高级配置
CreateShortCut "$SMPROGRAMS\立思辰合众\智课堂\高级配置.lnk" "$INSTDIR\AdvancedConfig.exe"
CreateShortCut "$SMPROGRAMS\立思辰合众\智课堂\配置.lnk" "$INSTDIR\Config.exe"
CreateShortCut "$SMPROGRAMS\立思辰合众\智课堂\卸载智课堂.lnk" "$INSTDIR\Uninst.exe"

你会神奇的发现问题解决了,有个关键的问题需要注意一下,就是卸载的时候最好调用cmd命令完成,以保证完全是删除快捷方式!代码如下:

	;快捷方式删除操作
SetShellVarContext current
Delete "$DESKTOP\智课堂.lnk"
nsExec::Exec 'cmd /c rd /q /s "$SMPROGRAMS\立思辰合众\智课堂"' SetShellVarContext all
Delete "$DESKTOP\智课堂.lnk"
nsExec::Exec 'cmd /c rd /q /s "$SMPROGRAMS\立思辰合众\智课堂"'

NSIS学习记录の----win8.1和win10对于NSIS创建的卸载快捷方式无法在开始目录下显示的更多相关文章

  1. NSIS学习记录の----NSIS插件调用

    我们都知道NSIS可以和C或者C++混合编程,方法是NSIS调用C或C++的动态库,那么如何调用呢? 首先我们来创建动态库: // add.cpp : 定义 DLL 应用程序的导出函数. #inclu ...

  2. NSIS学习记录の----NSIS多语言安装以及详解

    NSIS多语言安装,很多教程提供了详细的代码,但是代码中某些语句的含义我还是不很明白,作为一个吃螃蟹的人,我做一个解释,避免很多小伙伴和我哟U一样的误区,以下结论都是自己根据实践得来,若发现理解错误, ...

  3. NSIS学习记录の----查找注册表某个键是否存在

    最近要做一个注册表的判断.以往都是注册表某个键的键值存在查找,但是如何判断一个空键值的键是否存在呢(很多大厂装逼不写键值,有默认就好)? 下面给出解决办法(要沟通请邮件联系:7-7-2-7-0-6-5 ...

  4. 中级实训Android学习记录——Toast、AlertDialog、ProgressBar

    学习记录 2020/11/22 Toast Toast Toast是一个消息提示组件 我们可以设置其显示的位置 自定义其显示的内容 对Toast的简单封装可以达到不同的目的 Toast的默认用法 To ...

  5. UWP学习记录5-设计和UI之控件和模式2

    UWP学习记录5-设计和UI之控件和模式2 1.应用栏和命令栏 CommandBar 控件是一款通用.灵活.轻型的控件,可显示复杂内容(如图像或文本块)以及简单的命令(如 AppBarButton.A ...

  6. UWP学习记录1-开端

    UWP学习记录1-开端 1.背景 针对不同基础的人,学习的路线自然是不同的.这篇文章记录的是我个人的学习路线,或者说笔记.我对自己的技术状态的定义是: A.有很好的windows平台编程基础: B.有 ...

  7. Python 学习记录

    记录一些 学习python 的过程 -------------------------------------- 1. 初始学习 @2013年10月6日 今天开始学习python 了 遇到好多困难但是 ...

  8. Visual Studio Code 学习记录

    Visual Studio Code的官方文档可以学到很多知识,不只是vs code的用法,包括一些语言的入门 和一些概念等等.很好的文档. ※,user.settings.json中的一些配置说明: ...

  9. git原理学习记录:从基本指令到背后原理,实现一个简单的git

    一开始我还担心 git 的原理会不会很难懂,但在阅读了官方文档后我发现其实并不难懂,似乎可以动手实现一个简单的 git,于是就有了下面这篇学习记录. 本文的叙述思路参照了官方文档Book的原理介绍部分 ...

随机推荐

  1. javascript创建对象的方法总结

    Javascript创建对象 最简单的方法:创建object实例. var person=new Object(); person.name="Joey";person.age=2 ...

  2. Python学习总结3:元组、列表的操作汇总

    参考博客:http://www.cnblogs.com/QG-whz/p/4782809.html 1. 是否可变 元组:用()或tuple函数定义,不可变(元素的值以及整个元组): 列表:用 [] ...

  3. Server.Transfer,Response.Redirect用法点睛

    Server.Transfer,Response.Redirect的区别 如果你读过很多行业杂志和 ASP.NET 示例,你会发现,大多数人使用 Response.Redirect 将用户引导到另一个 ...

  4. java反射机制简介

    1.字节码.所谓的字节码就是当java虚拟机加载某个类的对象时,首先需要将硬盘中该类的源代码编译成class文件的二进制代码(字节码),然后将class文件的字节码加载到内存中,之后再创建该类的对象 ...

  5. jquery on 动态添加的元素,神奇的bug

    $(document.body).on("click", ".comments-item .link-comment", function () { 平时用 d ...

  6. 使用streaming window函数统计用户不同时间段平均消费金额等指标

    场景 现在餐厅老板已经不满足仅仅统计历史用户消费金额总数了,他想知道每个用户半年,每个月,每天,或者一小时消费的总额,来店消费的次数以及平均金额. 给出的例子计算的是每5秒,每30秒,每1分钟的用户消 ...

  7. paper 71 :图像清晰化

    图像清晰度是衡量图像品质优劣的标准之一,清晰的图像能给人以赏心悦目的视觉享受.长期以来,图像扫描设备和图像处理软件的开发生产厂商都很重视图像清晰度处理功能的开发,图像处理人员也在日常的实践中不断摸索出 ...

  8. paper 34 :常见函数的举例(更新ing)2

    在研究opencv,不是很难,但是需要换种思维来认知这个C/C++为编程函数的开源代码库,OK,我现在还是总结一些常用MATLAB的函数,随时更新,下一阶段就是opencv方面的认知了! 1.std ...

  9. 夺命雷公狗---TP商城----TP之配置环境---1

    下载到tp3.2.3版本后架设到自己的wamp环境下,然后配置虚拟主机,完事后直接开工 环境下创建一个文件夹,然后里面存放这这两个文件即可开始新的旅途了 这里完了,下一步就开始配置index.php文 ...

  10. $("label + input") 匹配所有紧接在 prev 元素后的 next 元素

    描述: 匹配所有跟在 label 后面的 input 元素 HTML 代码: <form> <label>Name:</label> <input name= ...