【发布时间】:2013-02-05 12:41:36
【问题描述】:
我想在继续安装 NSIS 之前验证用户名和密码。
当我点击下一步按钮时,我想检查用户是否被授权安装应用程序。对于此检查,我想从我的 .NET 应用程序进行 WCF 调用。它将返回真或假。
基于此,我将继续或中止我的安装。我尝试使用CLR::Call /NOUNLOAD 插件。由于我指的是服务引用,所以它抛出了异常:
Error calling .net dll method
这是我目前拥有的 NSIS 脚本:
Name "Test CLRDLL MakeLogEntry"
OutFile "TestCLRDLL.exe"
Page instfiles
Section
start InitPluginsDir
SetOutPath $PLUGINSDIR
File "MyDll.dll"
CLR::Call /NOUNLOAD "MyDll.dll" "namespace.classname" \ "ValidateLogin" 3 "Myserviceaddress/Servicename.svc"; "username" "password"
pop $0
MessageBox MB_OK $0
sectionEnd
Function .onGUIEnd
CLR::Destroy
FunctionEnd
【问题讨论】:
-
你能把你目前的nsis脚本贴出来吗?
-
Name "Test CLRDLL MakeLogEntry" OutFile "TestCLRDLL.exe" 页 instfiles SEction start InitPluginsDir SetOutPath $PLUGINSDIR File "MyDll.dll" CLR::Call /NOUNLOAD "MyDll.dll" "namespace.classname" \ "ValidateLogin" 3 "Myserviceaddress/Servicename.svc" "username" "password" pop $0 MessageBox MB_OK $0 sectionEnd Function .onGUIEnd CLR::Destroy FunctionEnd
-
请始终在问题中添加说明以改进问题。