Installation 如何从NSIS函数中使用的标签调用节?

Installation 如何从NSIS函数中使用的标签调用节?,installation,nsis,Installation,Nsis,我正在比较由.onInit调用的函数中的版本检查,如果此版本检查告诉计算机有旧版本,则我希望卸载旧版本。如何做到这一点??我的方法是,如果存在旧版本,则消息框显示“您已安装旧版本”,单击“确定”安装新版本,或单击“取消”继续使用旧版本。IDOK IDCANCEL取消ok:ExecWait uninstall;执行uninstall.exe取消:中止;继续旧版本 这里的问题是ExecWait在较新版本的安装中并行执行。(两个r均为2个不同的螺纹) 为此,我只想在要静默卸载的函数的标签中包含卸载部分

我正在比较由.onInit调用的函数中的版本检查,如果此版本检查告诉计算机有旧版本,则我希望卸载旧版本。如何做到这一点??我的方法是,如果存在旧版本,则消息框显示“您已安装旧版本”,单击“确定”安装新版本,或单击“取消”继续使用旧版本。IDOK IDCANCEL取消ok:ExecWait uninstall;执行uninstall.exe取消:中止;继续旧版本

这里的问题是ExecWait在较新版本的安装中并行执行。(两个r均为2个不同的螺纹)

为此,我只想在要静默卸载的函数的标签中包含卸载部分

请指导我如何从函数调用部分


提前感谢

您不能呼叫部门,但您可以这样做:

Function MySectionCode
# My code goes here
FunctionEnd

Function .onInit
call MySectionCode
FunctionEnd

Section "MySection"
call MySectionCode
SectionEnd

需要明确的是,ExecWait总是等待子进程,但有时子进程启动它的子进程而不等待它们。要等待NSIS卸载程序,您需要使用特殊命令。

您不能调用节,但可以执行以下操作:

Function MySectionCode
# My code goes here
FunctionEnd

Function .onInit
call MySectionCode
FunctionEnd

Section "MySection"
call MySectionCode
SectionEnd

需要明确的是,ExecWait总是等待子进程,但有时子进程启动它的子进程而不等待它们。要等待NSIS卸载程序,您需要使用特殊的。

\u?=参数采用$INSTDIR值,但每个版本的$INSTDIR不同,可能是因为此Exec没有等待卸载程序卸载。\u?=参数采用$INSTDIR值,但每个版本的$INSTDIR不同,可能是因为此Exec不存在正在等待卸载程序卸载。