NSIS对卸载程序的签名

方案一:

思路:
把安装脚本里的卸载部分抽出来单独做一个卸载脚本,卸载脚本编译成exe后进行签名,再把卸载程序打包进安装包,最后对安装包进行签名
步骤:
1、从安装脚本中找到以下代码并删除

; 安装卸载过程页面
!insertmacro MUI_UNPAGE_INSTFILES

WriteUninstaller "$INSTDIR\uninst.exe"

2、抽出安装脚本中的卸载部分代码,迁移到新的卸载脚本里,并加入版本信息等内容,制作一个新的包当做卸载程序
3、生成卸载程序后进行签名
4、把签名好的uninst.exe打包进安装包里

File "${UNINSTEXE_PATH}uninst.exe"

5、生成安装包程序,然后对安装包进行签名

注:该步骤仅为测试用,适用于大部分安装脚本,不同的安装脚本所需要实现的功能不同,可按照这个思路自行抽出卸载部分代码

方案二:

思路:
与方案一类似,先执行安装程序(安装程序不要签名),生成卸载程序后对卸载程序进行签名,然后打包进安装程序里,最后再对安装包进行签名
步骤:
1、NSIS生成安装程序(不需要签名)
2、执行安装程序,安装完成后再安装目录找到卸载程序,再对卸载程序进行签名
3、把卸载程序拿出来打包进安装程序内 File "$INSTDIR\uninst.exe"
4、注释安装脚本里的WriteUninstaller "$INSTDIR\uninst.exe"(不再自动生成卸载程序)
5、重新编译安装脚本生成安装程序,并对其进行签名

NSIS对卸载程序的签名相关推荐

  1. nsis卸载程序被当成病毒

    最近用nsis写的一个安装包,在卸载时被360当成木马程序,很是郁闷 经过仔细分析编写的nsis脚本发现这样的代码放在卸载section时会有问题 nsExec::ExecToLog 'cmd.exe ...

  2. NSIS安装制作程序

    NSIS安装制作程序 http://blog.csdn.net/byxdaz/article/details/4551356 分类: 开源软件 技术资料2009-09-14 14:43 677人阅读  ...

  3. 使用Inno Setup软件直接给安装程序和卸载程序加数字签名

    使用Inno Setup软件直接给安装程序和卸载程序加数字签名 宏定义字段 添加 define MySignTools "mysigntools" [Setup]字段 添加 Sig ...

  4. 用 NSIS 制作安装程序

    用 NSIS 制作安装程序 最近要给自己写的一个小程序做个安装程序.我的程序是用Qt开发的,所以本来想研究一下 Qt Installer Framework. 但是用 Qt Installer Fra ...

  5. Android预安装可卸载程序

    /****************************************************************************** Android预安装可卸载程序* 说明: ...

  6. .net卸载程序制作

    .net卸载程序制作 原文:.net卸载程序制作 方法一: 在打包项目中添加文件msiexec.exe(一般在c:\windows\system32(系统目录中)找到). 在文件系统视图中选择应用程序 ...

  7. 为.NET部署应用程序添加个卸载程序

    地球人都知道.NET自带的部署程序用起来很方便很简单,但.NET部署程序是没有卸载文件. 下面的方法可以很简单的为你的程序添加1个卸载文件,.NET是利用windows Installer来部署程序的 ...

  8. Android 编程下获得应用程序的签名

    说明:应用程序的签名被封装在 packageInfo 中,所以我们要获得应用程序的签名就需要获得 PackageManager 来获得包含有签名信息的 packageInfo,再通过 packageI ...

  9. C#软件winform程序安装包制作及卸载程序制作

    使用vs2010 winform程序开发的软件的人比较多,程序的开发是为了在不同的人不同的机器使用,为了使不同的机器能使用该软件就需要在制作程序安装包,安装包里必须包含该软件运行所选的所有环境,下面就 ...

最新文章

  1. 查询一个字符串的子串出现的次数在sql中
  2. python3入门书籍-学习python3入门书籍选哪些?
  3. 【Flutter】Flutter 拍照示例 ( Android 应用兼容 Android X | Gradle 版本号 | Gradle 插件版本号 | Android X 支持 | SDK 版本 )
  4. 【数组】Find Peak Element
  5. mysql多实例配置使用方法
  6. CH4402 小Z的袜子(莫队)
  7. 【牛客 - 82B】区间的连续段(贪心,建图,倍增)
  8. “西邮漫记”--自由照耀中国
  9. OpenCV多目标跟踪与视频分析
  10. 一次简单易懂的多态重构实践,让你理解条件逻辑
  11. VS2010怎样显示行号
  12. 颜色叠加 java_可绘制Android上的颜色叠加
  13. APUE习题[实现dup2函数功能,不使用fcntl]
  14. Hbase与传统关系型数据库对比
  15. 华为笔试题——去除重复的数字
  16. 在线图片编辑器/在线视频剪辑器/在线批量加水印网站源码
  17. a one-way repeated-measures ANOVA
  18. 如何将wireshark抓包的中文恢复
  19. wifi 计算机配置正确但,您的计算机配置似乎是正确的,但该设备或资源(DNS服务器)没有响应...
  20. java 开发之商品规格属性(SKU)组合算法

热门文章

  1. 全景图转换为天空盒图
  2. 正则表达式 不含指定字符串
  3. JS的组成-JS数组方法-JS函数-系统化学习
  4. poj1144 - tarjan求割点
  5. VS2017下解决:error LNK2019: 无法解析的外部符号 __iob_func
  6. Python百练成钢002-计算自幂数
  7. 如何实现WiFi下计算机互相访问,如何让两台笔记本电脑在无线连接下互相投屏...
  8. 【2018 Nature】Review Disease Primers - Epilepsy 【文献翻译】
  9. bind dns mysql,linux下bind9.8+dlz+mysql 的dns服务器局域网配置
  10. python网易云_python下载网易云音乐