首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 其他相关 >

关于签字NSIS中uninst.exe文件

2013-01-18 
关于签名NSIS中uninst.exe文件uninst.exe文件是安装时setup.exe程序生成的,所以在线上机器编译的时候不好

关于签名NSIS中uninst.exe文件


uninst.exe文件是安装时setup.exe程序生成的,所以在线上机器编译的时候不好签名。所以uninst.exe必须是在编译的时候就生成了,然后打包到setup.exe中,而不用setup.exe自动生成了。
    现在的问题:    (1) 如何在编译的时候生成uninst.exe
            可以新建一个nsis工程uninstall.nsi。把setup.nsi里面的Function un.XX,都移到uninstall.nsi中去。            section install中只保留:                    WriteUninstaller "$INSTDIR\Uninst.exe"            注意添加静态安装:SilentInstall silent            同时: ShowInstDetails hide \n ShowUninstDetails hide。            编译uninstall.nsi,并运行,就会静态的在制定的目录下生成了uninst.exe。然后签名它。
    (2) 如何把生成的uninst.exe打包到setup.exe中
            setup.nsi中,用包含dll的方法包含uninst.exe文件,同时去掉:
                WriteUninstaller "$INSTDIR\uninst.exe"    
    (3) 事先生成uninst.exe有一个问题,就是安装路径。如果是用户选择安装路径,生成uninst.exe的时候就不知道安装路径具体的值。            即使是不让用户选择安装路径,不同系统上路径也会不一样的。所以uninst.exe点击卸载的时候就找不到正确的安装路径。            解决方法:通过在setup.nsi把安装路径写入指定的注册表路径中的,uninst.exe通过访问注册表获取安装路径。

热点排行