私は完璧に動作するWindowsサービスを作成しました。電話番号はであり、{argument}
はinstall
,uninstall
,start
およびstop
のような重要な仕事です(コマンドプロンプトで)。サービス思考を開始するASP.net Page
このサービスが必要なプログラムは、管理者特権を必要とします(それ自体がインストール/アンインストールされるため)。例えば、cmd
を管理者として"D:\folder\chatserver.exe install"
とすると、それは必要なサービスがインストールされます。
私のASP.netサイトでは、プロセスを開始するための関数を書きましたが、例外が発生しました。"740" ("the software required privilege elevation")
私の関数の "AsAdmin"引数に "true" 、私はそれが"UseShellExecute"
を例外として真実にすることはできません。
public static int RunProcess(string ApplicationPath, string Parameters = "", bool AsAdmin = false)
{
try
{
global::System.Diagnostics.ProcessStartInfo startInfo = new global::System.Diagnostics.ProcessStartInfo();
startInfo.UseShellExecute = AsAdmin;
if (AsAdmin) { startInfo.Verb = "runas"; }
startInfo.WorkingDirectory = global::System.IO.Path.GetDirectoryName(ApplicationPath);
startInfo.FileName = ApplicationPath;
if (!string.IsNullOrEmpty(Parameters)) { startInfo.Arguments = Parameters; }
startInfo.ErrorDialog = false;
global::System.Diagnostics.Process process = global::System.Diagnostics.Process.Start(startInfo);
process.WaitForExit();
return process.ExitCode;
}
catch (global::System.ComponentModel.Win32Exception ex) { return ex.NativeErrorCode; }
catch { return -1; }
}
私は何をしますか?
thansk ted!私が知っている信じられないこと、しかし忘れた場合!どうすればいい? – SammuelMiranda
が試してみましたが、それは意味がありましたが、まだ "Win32Exception"、 "要求された操作は仰角が必要です" – SammuelMiranda
@SammuelMiranda - 私の編集 'myProcess.Verb =" runas "を参照してください; – Ted