/获取本DLL的文件路径
TCHAR szCurrent[520] = { 0 };
HMODULE hModule = GetModuleHandle(_T("nsisQt.dll"));
if (hModule)
GetModuleFileName(hModule, szCurrent, _countof(szCurrent) - 1);
::PathRemoveFileSpec(szCurrent);
QCoreApplication::addLibraryPath(QString::fromStdWString(szCurrent));
nsis制作的安装包在运行时,会把安装包里面的文件释放到一个临时目录(如:C:\Users\Kandy\AppData\Local\Temp\nsg23F1.tmp\),然后安装程序或者卸载程序所依赖的文件,都是在该临时目录下。
02_NSIS_使用MD5.dll1. md52. 官网例子3.结果展示
1. md5
从官网下载md5.dll,将dll文件放置在NSIS的安装目录下/Plugins文件中,
md5可以加密字符串、文字、生成随机数等功能。
2. 官网例子
;输出文件为md5test.ex
OutFile "md5test.exe"
;展示安装细节
ShowInstDetails show
Section
#生成字符串的MD5sum
md5dll::GetMD5String "md5me"
Pop $0
https://sourceforge.net/projects/sevenzip/files/7-Zip/15.05/
https://jaist.dl.sourceforge.net/project/sevenzip/7-Zip/15.05/7z1505.exe
https://jaist.dl.sourcef...
NSIS是一个功能强大的安装卸载包制作工具,通过dll可以扩展很多功能,你也可以自定义一个dll,以下是具体步骤:
1.新建一个mfc dll(本例Hello.dll)
1.1 添加对nsis库的引用:
在Hello.cpp中声明对nsis库的引用:
// Hello.cpp : 定义 DLL 的初始化例程。
#include "stdafx.h"
#include "He
System::Call 'F:\Ds40xxSDK::InitDSPs() i().r0' ;初始化芯片,函数: int __stdcall InitDSPs()
System::Call 'F:\Ds40xxSDK::GetBoardCount(
icon ".\xxx.ico" #设置图标
OutFile "setup.exe" #设置生成程序
SilentInstall silent #静默安装不出现任何NSIS自带界面
前端时间在做安装程序时,需要自定义安装界面代替传统的打包工具
制作的安装界面。毕竟打包工具
制作的界面定制麻烦也比较丑。我们可以使用第三方界面库写安装程序,再在
NSIS脚本中
调用即可。
采用
NSIS +
QT 制作安装程序实际上就是使用
QT制作安装程序,而
NSIS仅仅将
制作的安装程序打包成一个exe。
1.核心
NSIS脚本
;这次是打包生成exe的路径
OutFile ${TheOutFile}
最近做了一个小程序,需要使用到第三方DotNet控件,使用NSIS制作安装程序。需要注册dll到GAC,想到两种解决方案:
1、在NSIS中编写Function思路: 1)获取framework安装路径; 2)调用gacutil注册dll
这种思路实现的前提是需要熟悉NSIS的语法。2、在NSIS中调用bat,由bat完成注册 这种方法较为简单,但是也会有一些问题。思路:
1)把需...
1、ReadINIStr(INI文件)
作用:从ini文件的[section_name]中的entry_name读取并将值存储到用户变量$ x中。将设置错误标志,如果未找到该条目,则将$ x分配给空字符串。
ReadINIStr $0 $INSTDIR\
winamp.ini
winamp outname
二、外部
调用
1、ReserveFile
作用:把文件保存在...
Qt DLL总结【一】-链接库预备知识
Qt DLL总结【二】-创建及调用QT的 DLL
Qt DLL总结【三】-VS2008+Qt 使用QPluginLoader访问DLL
开发环境:VS2008+Qt4.7.4
最近看了不少Qt的DLL例子,总结一下如何创建和调用QT 动态链接库。
先讲一下对QT动态链接库的调用方法,主要包括:
1、显式链接DLL,调...
#define DEMO_API extern "C" __declspec(dllexport)
#else
#define DEMO_API extern "C" __declspec(dllimport)
#endif