我想在继续NSIS安装之前验证用户名和密码。
当我点击下一个按钮时,我想检查用户是否有权安装该应用程序。对于此检查,我想从我的.NET应用程序进行WCF调用。它将返回true或false。
基于此,我将继续或中止我的安装。我尝试使用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
答案 0 :(得分:3)
您还应该知道,CLR :: Call插件仅适用于.Net 2.0程序集(不高于)。 所以也许你应该重新编译你的dll。
答案 1 :(得分:1)