0

次のコマンドを使用して、管理者として自動昇格する小さなアプリケーションを作成しました。

requestedExecutionLevel level="highestAvailable" uiAccess="false"

アプリケーションをコンピューターでローカルに実行すると、これは正常に機能します。ただし、コンピューターがネットワーク経由で実行可能ファイルを実行しようとすると、起動時に「問題に関する詳細情報を送信しますか?」というメッセージが表示されて単にクラッシュします。エラー。右クリックして管理者として実行すると、アプリケーションが機能し、管理者の資格情報を求めるプロンプトが表示されます。

(ネットワーク経由で) アプリケーションを実行しているフォルダーには、「全員」に対する完全な読み取り/書き込みアクセス許可があります。

私の質問は: 私が見逃したものはありますか? アプリケーションをローカルで実行してもプロンプトが表示されないのに、ネットワーク経由でクラッシュしたり、管理者が必要になったりするのはなぜですか?

この問題の原因を説明できる人はいますか?

更新 イベント ビューアーのログを確認したところ、次のように表示されます。

アプリケーション: AutoUpdater.exe フレームワーク バージョン: v4.0.30319 説明: 未処理の例外が発生したため、プロセスが終了しました。例外情報: System.Net.Sockets.SocketException スタック: System.Net.Sockets.Socket..ctor(System.Net.Sockets.AddressFamily、System.Net.Sockets.SocketType、System.Net.Sockets.ProtocolType) で System .Net.Sockets.TcpListener..ctor(System.Net.IPAddress, Int32) で System.Runtime.Remoting.Channels.Tcp.TcpServerChannel.SetupChannel() で System.Runtime.Remoting.Channels.Tcp.TcpServerChannel..ctor( Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.RegisterChannel(ChannelType, Boolean) の Microsoft.VisualBasic.ApplicationServices.

System.Net.Sockets を参照している理由がわかりません?? しかし、それが私のアプリをクラッシュさせているようです。

4

2 に答える 2

0

アプリケーションを実行しようとしている他のコンピューターに、正しい .Net Framework バージョンがインストールされていることを確認してください。ユーザーが実行可能ファイルを開くことができる場合、権限に関するその他の問題はありません。

フレームワークのバージョンを確認した場合は、エラー レポートにクラッシュの理由を示している可能性があるものがないかどうかを確認してください。多くの場合、あなたを正しい方向に導く何かがそこにあるかもしれません。

于 2013-09-11T13:00:23.947 に答える
0

.NET アプリケーションは、既定ではイントラネットから実行されることを好みません。

これを試して:

  1. [コントロール パネル] -> [管理ツール] -> [Microsoft .NET Framework 2.0 構成] に移動します。
  2. [コード アクセス セキュリティ ポリシーの構成] リンクをクリックします。
  3. [ゾーン セキュリティの調整] をクリックします。
  4. マイ コンピュータとローカル イントラネットを完全信頼に設定する

これが機能する場合、それはローカル セキュリティの問題です。スクリプト化する必要がある場合は、フレームワークにある caspol exe を使用できます。サンプル

C:
cd %windir%\Microsoft.NET\Framework\v2.0.50727
CasPol.exe -pp off -m -ag 1. -URL Z:\folder\EXEName.exe FullTrust -n FriendlyNameOfEXE
于 2013-09-11T13:07:33.073 に答える