c# - 通过网络运行 .net 应用程序

标签 c# .net security networking clickonce

我需要启用 .NET 应用程序以在网络共享上运行,问题是这将在客户端的网络共享上,因此路径将不相同。

我快速浏览了 ClickOnce 和 Visual Studio 2008 中的发布选项,但它需要一个特定的网络共享位置 - 我假设这个位置在它执行任务时存储在某个地方。

目前这项工作是用一个旧的 VB6 应用程序完成的,因此可以解决所有这些安全问题,但该应用程序编写得不好,几乎不可能维护,所以它确实需要离开。

是否可以设置域 Controller 以允许执行此特定的 .NET 应用程序?任何其他选项都会受到欢迎,因为我想让这个小应用程序对业务非常关键。

我应该说客户端网络是学校,因此通常和客户端机器一样被完全锁定,因此手动向每台客户端机器添加异常(exception)是一个很大的禁忌。


抱歉,我忘了说我们目前仅限于 .NET 2.0,我们计划将其升级到 4.0,但这不会立即发生。

最佳答案

list 中的部署位置必须与其部署位置相匹配。您将不得不使用 UNC 路径。这个应该没有问题。 ClickOnce 应用程序安装在用户的配置文件下,不需要管理权限。它只需要对部署应用程序的文件共享进行读取访问。

最好的答案是为每所学校创建部署并让您设置 UNC 路径,因为这样您就可以向他们发送已签名的部署,他们可以将其放在文件共享中。但这是一个主要的问题。如果涉及的学校很多。

下一个答案是:谁实际将应用程序部署到每所学校,即将其放在文件共享上?有某种管理员吗?

我建议(取决于它是谁)给他们 mageUI.exe 并教他们如何更改部署 URL 和重新签署 list (它会提示)。他们重新签署部署的问题是他们必须有证书。您可以给每所学校自己的证书(使用 VS 中的“创建测试证书”按钮创建,或使用 MakeCert 创建一个 [询问您是否需要更多信息])或给他们所有相同的 key (不是很安全,但是嘿,它会起作用)。

如果您至少更新到 .NET 3.5 SP-1,则无需签名即可部署该应用程序。 (关于 .NET 2.0,我并不是要给你添麻烦,我的公司也处于同样的位置,我只是传递这些信息。)

如果计算机可以访问互联网,您可能会以每月 10 美元的价格找到托管部署的地方,然后将其推送到网络服务器并让它们全部从那里安装。然后每个人都会同时获得更新,您只需将更新部署到一个位置。如果他们可以访问互联网,这将是最简单的解决方案。

罗宾点网
Visit my ClickOnce blog!

关于c# - 通过网络运行 .net 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2469494/

相关文章:

c# - ASP.NET MVC 4 - 在主页上登录

c# - 如果我不调试应用程序,则不会捕获异常

c# - 为什么 "dynamic"需要特定于语言的运行时组件?

.net - 我在哪里可以找到一个好的 NHibernate 和 ASP.NET MVC 引用应用程序

c++ - 如何在 C++ 中调用 LsaRemoveAccountRights

php - 是否有明确的 PHP 反 XSS 库?

c# - 遍历 ICollection 并设置为 null

c# - 每次构建时,其中一个程序集都会从我的解决方案中删除

C# windows 应用程序事件 : CLR20r3 on application start

security - 服务器之间使用http协议(protocol)