の下で Windows サービスを実行しているプロジェクトに取り組んでいますLocal System Account
。
私がやりたいことは、ファイルをディスクに書き込む別のプロセス (C++ アプリケーション) を開始することです。
だけを使用するProcess.Start
と、ターゲット アプリケーションも の下Local System Account
で実行されます。また、私が知る限り、単純にどこにでもファイルを書き込むことはできません。
このため、ターゲット アプリケーションを別のユーザーとして実行しようとしています。
ProcessStartInfo psi = new ProcessStartInfo(@"C:\Path\to\Application.exe", parameters);
psi.UseShellExecute = false;
psi.UserName = "Username";
System.Security.SecureString sec = new System.Security.SecureString();
foreach (Char c Password)
sec.AppendChar(c);
psi.Password = sec;
psi.Domain = ".";
psi.LoadUserProfile = true;
Process.Start(psi);
しかし、「アクセスが拒否されました」という Win32 例外が発生します。目標を達成する方法を知っている人はいますか?