2012-04-10 13 views
0

私が持っているインストーラクラスを参照するWCFインストーラクラスは - デフォルトのエンドポイント要素を見つけることができませんでしたクライアントプロジェクトに契約

public override void Install(IDictionary stateSaver) 
{ 
    base.Install(stateSaver); 
     using (ServiceReference1.ClientClient client = new ServiceReference1.ClientClient()) 
     { 
      if (!client.Register(Context.Parameters["firstname"], Context.Parameters["lastname"], Context.Parameters["email"], Context.Parameters["password"])) 
      { 
       throw new InstallException("Email address is already used"); 
      } 
     } 
} 

結果: は、デフォルトのエンドポイント要素を見つけることができなかったことを参照する契約「ServiceReference1.IClient」でServiceModelクライアント構成セクション。何の設定ファイルは、アプリケーションの見つからなかったため、またはこの契約に一致するエンドポイント要素は、クライアントの要素で見つけることができなかったためである可能性があります。

これを修正するためのアイデアはありますか?

答えて

0

WCFは、YourInstallerAssemblyName.EXE .configファイルを使用して、インストーラコードが使用しているWCFクライアント(サービス参照)を設定します。ファイルには、サービス参照を作成するapp/web.configファイルのserviceModel要素が含まれている必要があります。

+0

はまだ動作しません。ファイル名をTrack.exe.configに変更しました – adrian

+0

インストーラが開いている設定ファイルをトレースしてみてください。 [FileMon app](http://technet.microsoft.com/en-us/sysinternals/bb896642)は、このための優れたユーティリティです。起動してインストーラを実行するだけです。トレースを停止し、プロセス名で出力をソートすると、インストーラがアクセスしたファイルやアクセスしようとしているファイルを歩くことができます。 –

+0

FileMonはダウンロードできません。プロセスモニタを使用していますが、開こうとする設定ファイルが表示されません – adrian

関連する問題