1

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
4

2 に答える 2

3

また、CLR::Call プラグインは .Net 2.0 アセンブリ (それ以降) でのみ機能することも知っておく必要があります。したがって、dll を再コンパイルする必要があります。

于 2013-03-01T16:55:10.413 に答える
1

これはできません。

CLR::Call プラグインは、.Net 2.0 アセンブリのみをサポートします

WCF は .NET 3.0 で導入されました

于 2013-03-04T22:20:23.810 に答える