【发布时间】:2026-02-10 13:30:01
【问题描述】:
我创建了一个小型应用程序,使用以下命令自动提升为管理员:
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(System.Collections.IDictionary,System.Runtime.Remoting.Channels.IServerChannelSinkProvider,System.Runtime.Remoting.Channels.IAuthorizeRemotingConnection) 在 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.RegisterChannel(ChannelType,布尔) 在 Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(System.String[]) 在 AutoUpdater.My.MyApplication.Main(System.String[])
我不明白为什么它引用 System.Net.Sockets??但这似乎是我的应用程序崩溃的原因。
【问题讨论】:
-
我对你的问题不放心。您是否尝试从 LAN 文件夹执行应用程序?要不然是啥?如果您的程序不在一个文件中,这通常不起作用。
-
你可以尝试复制/粘贴内部异常(如果可用?)套接字用于连接到某些程序(ftp、文件共享、数据库等),所以如果你的应用程序正在尝试连接到某些服务,那么这可能是问题所在。尝试发布一些它正在做什么的代码,以便我们可以看到问题可能是什么。
-
您是否在运行它的机器上授予了对应用程序的信任?请参阅下面的@SpectralGhost 答案。
标签: vb.net