1

システムで IISexpress が既に実行されているかどうかを確認する必要があります。そうでない場合は、IISExpress を管理者権限で起動する必要があります。

これを達成するために、次のコードを使用しています

var processes = Process.GetProcessesByName(
                        settings.Default.IISExpressProcessName).ToList();
if (processes.Count != 0) return;
var pass = new SecureString();
foreach (char chr in settings.Default.Password)
{
    pass.AppendChar(chr);
}

var iisExpress = Environment.ExpandEnvironmentVariables(
                         settings.Default.IISExpressExecutableFilePath);
Process.Start(new ProcessStartInfo
{
    FileName = iisExpress,
    UseShellExecute = false,
    CreateNoWindow = true,
    Verb = "runas",
    //UserName =settings.Default.UserName,
    //Password = pass, 
    Arguments = settings.Default.IISExpressArguments
});

ここでの問題は、IISExpress が管理者モードで開始されないことです。

誰でもここで私を助けることができますか?

4

1 に答える 1

2

コードを少し変更するだけです

Process process = Process.Start(new ProcessStartInfo()
  {
  FileName = IIS_EXPRESS,
  Arguments = arguments.ToString(),
  RedirectStandardOutput = true,
  UseShellExecute = true,
  CreateNoWindow = true,
  Verb = "runas"
  });

これはトリックをします

于 2012-10-23T11:35:39.980 に答える