我想在继续进行NSIS安装之前验证用户名和密码。从NSIS调用.net dll
当我点击下一个按钮时,我想检查用户是否有权安装该应用程序。对于这个检查,我想从我的.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
你可以发布你到目前为止的nsis脚本吗? –
名称 “测试CLRDLL MakeLogEntry” OutFile将 “TestCLRDLL.exe” 页instfiles 节开始 InitPluginsDir SetOutPath $ PLUGINSDIR 文件 “MYDLL.DLL” CLR ::呼叫/ NOUNLOAD “MYDLL.DLL”“命名空间。类名” \ “ValidateLogin” 3 “HTTP://Myserviceaddress/Servicename.svc” “用户名”, “密码” 弹出$ 0 的MessageBox MB_OK $ 0 sectionEnd 功能.onGUIEnd CLR ::销毁 FunctionEnd – Karthik
请始终在问题中添加说明以改善问题。 –