簡體   English   中英

通過網絡運行.net應用程序

[英]Running .net application over a network

我需要啟用一個.NET應用程序來運行網絡共享,問題是這將在客戶端的網絡共享上,因此路徑將不相同。

我已經快速瀏覽了ClickOnce和Visual Studio 2008中的發布選項,但它需要一個特定的網絡共享位置 - 而且我假設這個位置存儲在某個地方。

目前,使用舊的VB6應用程序完成工作,因此解決了所有這些安全問題,但該應用程序編寫得很糟糕,幾乎無法維護,所以它確實需要去。

是否可以設置域控制器以允許執行此特定的.NET應用程序? 任何其他選項都會受到歡迎,因為我希望這個小應用程序對業務至關重要。

我應該說客戶端網絡是學校,因此通常會像客戶端計算機一樣被鎖定,因此手動向每台客戶端計算機添加例外是不可能的。


道歉,我忘了提到我們目前僅限於.NET 2.0,我們計划將其升級到4.0,但這不會立即發生。

  1. 在項目屬性的“發布”選項卡上,有一個“安裝文件夾URL”文本框。 Visual Studio要求您在那里放置一些東西。 只需放入任何隨機的UNC路徑( \\\\someserver\\randomfolder
  2. 單擊“選項”按鈕。 選擇“清單”並選中“排除部署提供程序URL”。 這將刪除您在步驟1中強制添加的路徑。

這應該允許客戶端將您的部署放在他們想要的任何地方。 當用戶安裝時,他們的開始菜單快捷方式將指向他們放置部署的位置。

這是MSDN關於該復選框的描述......

排除部署提供程序URL
指定是否從部署清單中排除部署提供程序URL。 從Visual Studio 2008 SP1開始,對於應用程序更新應來自初始發布時未知位置的方案,可以從清單中排除部署提供程序URL。 發布應用程序后,將從安裝應用程序的任何位置檢查更新。

清單中的部署位置必須與其部署位置匹配。 您將需要使用UNC路徑。 這應該沒有任何問題。 ClickOnce應用程序安裝在用戶的配置文件下,不需要管理權限。 它只需要對部署應用程序的文件共享進行讀訪問。

最好的答案是為每個學校創建部署並為您設置UNC路徑,因為這樣您就可以向他們發送簽名部署,他們可以將其放在文件共享上。 但如果涉及很多學校,這是一個主要的皮塔餅。

下一個答案是:誰實際將應用程序部署到每個學校,即將其放在文件共享上? 有某種管理員嗎?

我建議(取決於它是誰)給他們mageUI.exe並教他們如何更改部署URL並重新簽名清單(它會提示)。 他們重新簽署部署的問題是他們必須擁有證書。 您可以為每個學校提供自己的證書(使用VS中的“創建測試證書”按鈕創建,或使用MakeCert創建一個[詢問您是否需要更多信息])或者給他們所有相同的密鑰(不是很安全,但是嘿,它會工作)。

如果您至少更新到.NET 3.5 SP-1,則可以在不簽名的情況下部署應用程序。 (我不會給你一個關於.NET 2.0的困難,我的公司處於相同的位置,我只是傳遞這些信息。)

如果計算機具有Internet訪問權限,您可能會找到以每月10美元的價格托管部署的地方,並將其推送到網絡服務器並讓它們全部從那里安裝。 然后每個人都會同時獲得更新,您只需要將更新部署到一個位置。 假設他們可以訪問互聯網,這將是最簡單的解決方案。

RobinDotNet
訪問我的ClickOnce博客!

你能使用UNC路徑嗎?

\\\server\folder\app.exe?

也許,這里的鏈接可以拯救你,如果我沒有弄錯的話,你是否擔心驅動器號和處理UNC慣例? CodeGuru上查看一下,其中包含有關如何在運行時動態映射到UNC共享的代碼。

問題是與.Net框架相關的安全性。 不幸的是,我在這方面沒有太多經驗,但也許其中一個鏈接會有所幫助:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM