2

の下で 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 例外が発生します。目標を達成する方法を知っている人はいますか?

4

1 に答える 1

0

ファイル システムのアクセス許可を確認します。使用しているユーザーは、指定されたアプリケーションの実行権限を持っていますか?

于 2013-10-30T19:10:33.927 に答える