2010-05-25 62 views
3

我的很多程序都需要將文件寫入硬盤。當我第一次爲XP製作這些程序時,他們效果很好。現在我對UAC不太陌生(最近有一臺新筆記本電腦)。對於未來的客戶......我已經注意到很多惱人的錯誤消息的潛力......並且坦率地說,如果程序無法將數據寫入硬盤驅動器或拇指驅動器,那麼......沒有意義運行它....編譯一個需要管理員的點擊型應用程序?

我試過多次,以建立管理員或用戶訪問清單的要求....我不知道如果有什麼不太會解決這個問題...但有失敗,因爲點擊一次具有安全功能,以防止我這樣做。

我寧願沒有告訴我的客戶如何通過編輯文件的屬性,從而以管理員身份運行程序...我寧願有一個方便的彈出像什麼,你會看到新的計劃,因爲Itunes或Filezilla會顯示它們是否與UAC發出請求所需特權的衝突。

我真的很想這樣做,但沒有成功。

任何和所有的建議,可以解決這個嚴重的問題,讚賞。

謝謝。

+0

你可以發佈一些他們收到的錯誤信息嗎? – N0Alias 2010-05-25 01:40:25

+0

我不得不重新創建它們......我可以這樣做,但是錯誤信息全都說了一些有關訪問硬盤的內容是不允許的......我不知道這是否足夠,我將重新創建一個示例錯誤消息。 – Assimilater 2010-05-25 04:28:53

回答

4

首先,讓我告訴你,ClickOnce部署的設計目標不是要求管理權限。這轉化爲「您在運行ClickOnce應用程序時無法提升權限」。

在Windows Vista中走了出來,微軟公佈了在哪裏存儲您希望能夠更新文件的指導方針。 沒有什麼應放置在Program Files中;他們通常推薦LocalApplicationData或Isolated Storage。 Windows 7中也存在相同的問題。

那麼你在哪裏試圖爲你的客戶寫數據?

+0

這個程序是可移植的,這意味着它將數據存儲在安裝到的任何位置。通常我的客戶會將其安裝到程序文件中(不熟悉),或者將其安裝到拇指驅動器。我注意到程序在程序文件中時發生的問題,我不記得是否在禁用UAC之前在桌面或拇指驅動器上測試過它。但是這個程序可能存在於硬盤上的任何地方,真的...... – Assimilater 2010-05-25 18:31:16

+0

如果你想在Program Files中存儲應用程序,你不能使用ClickOnce部署。它不支持這一點。正如我提到的ClickOnce的設計目標,它在用戶的配置文件中安裝在混淆文件夾下,因此用戶不能混淆它。此外,我建議您不要禁用UAC,因爲它確實有助於保持計算機安全,但當然,這也是您的選擇。此外,對於ClickOnce,您必須考慮要存儲數據的位置。我不保存部署文件,因爲每個版本都有新的文件夾。 – RobinDotNet 2010-05-26 08:44:19

+0

另一個說明 - 我寫了這個博客條目來幫助人們存儲他們的數據,而不是在更新之間丟失它。這可能對你有所幫助。 http://robindotnet.wordpress.com/2009/08/19/where-do-i-put-my-data-to-keep-it-safe-from-clickonce-updates/ – RobinDotNet 2010-05-26 08:45:34

相關問題