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. WinForm利用 WinApi实现 淡入淡出 弹出 效果 仿QQ消息

    消息框: using System.Runtime.InteropServices; namespace Windows_API_实现屏幕右下角_消息框_ { public partial class ...

  2. android课程表的实现

    //图片下方的码段主要实现了课程表所要显示的基本布局,采用ondraw的方法. //别的内容可以根据自己兴趣添加,下面是本人做的,仅供参考.                  package com. ...

  3. 使用javabeen的好处

    什么是javabeen? javaBean在MVC设计模型中是model,又称模型层, 在一般的程序中,我们称它为数据层, 就是用来设置数据的属性和一些行为,然后提供获取属性和设置属性的get/set ...

  4. 。。。Spring框架总结(一)。。。

    Spring框架已经学习了两遍了,第一遍基本上忘得差不多了,现在开始复习第二遍的,也复习的差不多了,比之前懂了很多东西,今天就写下来,记录一下我滴小成果! 首先,在Spring框架中有两个重要的概念: ...

  5. CCSprite的使用方法大全

    一.精灵创建及初始化 1.从图片文件创建: CCSprite *sprite = [CCSprite spriteWithFile:@"ImageFileName.png"]; 默 ...

  6. Android 封装Dialog

    package com.example.myandroid01; import android.support.v7.app.ActionBarActivity; import android.os. ...

  7. AHB中split机制简介

    完整的AHB协议:1)可以多个master,并且需要外加一个Arbiter,和write multiplexor.为了保证每一时刻只有一个master拥有访问权. 2)为了增强pipeline的能力, ...

  8. 四则运算GUI版本

    要求:用户界面新增支持 Windows GUI,同时保留原有命令行下所有功能.提示: 先测试驱动开发,然后重构代码,以GUI为目标修改"核心"函数,把与GUI/Console相关的 ...

  9. 《Focus On 3D Terrain Programming》中一段代码的注释二

    取自<Focus On 3D Terrain Programming>中的一段: bool CTERRAIN::MakeTerrainFault( int iSize, int iIter ...

  10. 2014.12.05(解决eclipse的adb打不开)

    一.问题如下图所示 The connection to adb is down, and a severe error has occured.You must restart adb and Ecl ...