我需要启用.NET应用程序以在网络共享上运行,问题是这将在客户端的网络共享上,因此路径将不相同。
我已经快速浏览了ClickOnce和Visual Studio 2008中的发布选项,但它需要一个特定的网络共享位置 - 而且我假设这个位置存储在某个地方。
目前正在使用旧的VB6应用程序完成工作,因此解决了所有这些安全问题,但该应用程序写得很差,几乎无法维护,所以它确实需要去。
是否可以设置域控制器以允许执行此特定的.NET应用程序?任何其他选项都会受到欢迎,因为我希望这个小应用程序对业务至关重要。
我应该说客户端网络是学校,因此通常会像客户端计算机一样被锁定,因此手动向每台客户端计算机添加例外是不可能的。
答案 0 :(得分:3)
\\someserver\randomfolder
)这应该允许客户将您的部署放在任何他们想要的地方。当用户安装时,他们的开始菜单快捷方式将指向他们放置部署的位置。
以下是MSDN关于该复选框的说明......
排除部署提供商网址
安装的
指定是否排除 来自的部署提供程序URL 部署清单。从...开始 Visual Studio 2008 SP1,部署 提供者URL可以从中排除 表示其中的场景 应用程序更新应来自a 位置未知的时间 初次出版。之后 应用程序发布,更新将 从哪里检查 应用程序是从。
答案 1 :(得分:3)
清单中的部署位置必须与部署位置匹配。您将需要使用UNC路径。这应该没有任何问题。 ClickOnce应用程序安装在用户的配置文件下,不需要管理权限。它只需要对部署应用程序的文件共享进行读访问。
最佳答案是为每个学校创建部署并为您设置UNC路径,因为这样您就可以向他们发送签名部署,并将它们放在文件共享上。但这是一个重要的p.i.t.a.如果涉及很多学校。
下一个答案是:谁实际将应用程序部署到每个学校,即将其放在文件共享上?有某种管理员吗?
我建议(取决于它是谁)给他们mageUI.exe并教他们如何更改部署URL并重新签名清单(它会提示)。他们重新签署部署的问题是他们必须拥有证书。您可以为每个学校提供自己的证书(使用VS中的“创建测试证书”按钮创建,或使用MakeCert创建一个[询问您是否需要更多信息])或者给他们所有相同的密钥(不是很安全,但是嘿,它会工作)。
如果您至少更新到.NET 3.5 SP-1,则可以在不签名的情况下部署应用程序。 (我不会给你一个关于.NET 2.0的困难,我的公司处于相同的位置,我只是传递这些信息。)
如果计算机具有Internet访问权限,您可能会找到以每月10美元的价格托管部署的地方,并将其推送到网络服务器并让它们全部从那里安装。然后每个人都会同时获得更新,您只需要将更新部署到一个位置。假设他们可以访问互联网,这将是最简单的解决方案。
RobinDotNet
Visit my ClickOnce blog!
答案 2 :(得分:0)
你能使用UNC路径吗?
\\\server\folder\app.exe?
答案 3 :(得分:0)
也许,这里的链接可以拯救你,如果我没弄错的话,你是否担心驱动器号和处理UNC惯例?在CodeGuru上查看一下,其中包含有关如何在运行时动态映射到UNC共享的代码。
答案 4 :(得分:0)
问题是与.Net框架相关的安全性。不幸的是,我在这个领域没有太多经验,但也许其中一个链接会有所帮助: