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) 在系统.Net.Sockets.TcpListener..ctor(System.Net.IPAddress, Int32) 在 System.Runtime.Remoting.Channels.Tcp.TcpServerChannel.SetupChannel() 在 System.Runtime.Remoting.Channels.Tcp.TcpServerChannel..ctor( System.Collections.IDictionary, System.Runtime.Remoting.Channels.IServerChannelSinkProvider, System.Runtime.Remoting.Channels.IAuthorizeRemotingConnection) 在 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.RegisterChannel(ChannelType, Boolean) 在 Microsoft.VisualBasic.ApplicationServices。

我不明白为什么它引用 System.Net.Sockets?? 但这似乎使我的应用程序崩溃。

4

2 回答 2

0

确保尝试运行您的应用程序的其他计算机安装了正确的 .Net 框架版本。如果用户能够打开可执行文件,则不应存在任何其他权限问题。

如果您已经验证了框架版本,请查看错误报告中是否有任何可能指向崩溃原因的内容。很多时候,那里可能有一些东西可以为你指明正确的方向。

于 2013-09-11T13:00:23.947 回答
0

默认情况下,.NET 应用程序不喜欢从 Intranet 运行。

尝试这个:

  1. 转到控制面板 -> 管理工具 -> Microsoft .NET Framework 2.0 配置
  2. 单击配置代码访问安全策略链接
  3. 单击调整区域安全
  4. 将我的电脑和本地 Intranet 设置为完全信任

如果这有效,那么这是一个本地安全问题。如果需要编写脚本,可以使用框架中的 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 回答