NSIS控制面板中显示安装包的大小和禁止多个安装程序实例

时间:2023-03-09 01:14:37
NSIS控制面板中显示安装包的大小和禁止多个安装程序实例

转载:http://www.yhxs3344.net/jscript/nsis

转载:http://www.yhxs3344.net/archives/1292

1.控制面板中显示安装包的大小

;需要用到这个头文件
!include "FileFunc.nsh" ${GetSize} "$INSTDIR" "/S=0K" $ $ $
IntFmt $ "0x%08X" $
WriteRegDWORD ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "EstimatedSize" "$0"

效果:

NSIS控制面板中显示安装包的大小和禁止多个安装程序实例

2.禁止多个安装实例

把下列代码放到你的 .onInit 函数:

System::Call 'kernel32::CreateMutexA(i 0, i 0, t "myMutex") i .r1 ?e'
Pop $R0 StrCmp $R0 +
MessageBox MB_OK|MB_ICONEXCLAMATION "安装程序已经在运行。"
Abort

'myMutex' 应该替换为你自己的唯一标识值。

3.NSIS中实现两个字符串相加

StrCpy $ "ABC"
StrCpy $ "$1123"
DetailPrint $

这样子输出的结果就是 “ABC123” ,实现了 A = A + B 。