Webサイトで注文するときに実行する必要のある.exeがあります。これをローカルでテストすると、IISExpressを使用して正常に機能します。IISに移動すると、失敗します。これは、管理者として実行するようにApp Poolを設定したかのように、アクセス許可エラーであると想定し、スクリプトが再び機能します。私たちが抱えている問題は、アプリプールがApplicationIdentityであるときに、管理者として.exeをどのように実行するかということです。次のコードを使用しています。
var process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = executablePath,
Arguments = argumentList,
Domain = domain,
UserName = userName,
Password = securePassword,
UseShellExecute = false,
LoadUserProfile = true
}
};
process.Start();
process.WaitForExit();
process.Close();
.exeはUsersAppDataフォルダーに書き込もうとしているため、失敗します。サードパーティのアプリであるため、ソースコードを変更することはできません。
編集:明確にするために、procmonでユーザー名とパスワードを指定すると、ISURから実行されているように見えます。