WPF アプリケーション (自己ホスト型) に WCF を使用したサービスがあり、「あなたのプロセスにはこの名前空間へのアクセス権がありません」という典型的なエラーが発生します。ユーザーは管理者権限を持つことができないため、.manifest を使用することは解決策ではありません。ポートは動的であり、アプリケーションは実行されるたびに空きポートを計算するため、アプリケーションは netsh によってリッスン ポートを数回挿入する必要があります。ドメイン管理者で ProcessStartInfo を使用しますが、プロセスを開始するにはユーザーに管理者権限が必要です。管理者としてアプリケーションを実行することも解決策ではないため、通常のユーザーがアプリケーションを実行し、プログラムがドメイン管理者として netsh によってポートを追加できるようにする必要があります。
私のプロセスは次のようなものです:
ProcessStartInfo psi = new ProcessStartInfo("netsh", parameter);
SecureString ss = new SecureString();
for (int i = 0; i < adminPass.Length; i++)
ss.AppendChar(adminPass[i]);
psi.Password = ss;
psi.UserName = Admin;
psi.Domain = Domain;
psi.Verb = "runas";
psi.RedirectStandardOutput = false;
psi.CreateNoWindow = true;
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.UseShellExecute = false;
Process.Start(psi);
どうもありがとう