2009-11-16 120 views
0

我一直在嘗試修改我的應用程序以使用ClickOnce進行部署和更新。我已經設法讓程序工作,但是我在程序配置上遇到了麻煩。我的程序使用位於應用程序目錄中的自定義XML配置文件。這提出了兩個主要問題。使用ClickOnce部署的配置文件

1.)配置文件很難找到。在沒有關於ClickOnce如何工作的知識的情況下,用戶將無法找到它。

2.)目前,如果我更改配置文件ClickOnce會自動將配置文件「更新」爲原始版本,從而破壞我的配置。

理想情況下,我希望將配置文件移動到另一個位置,並在我的應用程序旁邊創建一個開始菜單快捷方式。但是如果我改變程序來做到這一點,我仍然可以使用ClickOnce部署應用程序?

由於提前,

Fr33dan

回答

1

你爲什麼不把配置的副本中的用戶應用程序數據文件夾(這可以在第一次運行完成) - 然後有一個按鈕,你的打開它的應用程序(在外部還是在你的應用程序中)?

0

在這裏可以做很多事情來緩解這個問題。

首先,使用已經存在的內容 - 配置數據包含兩部分(請原諒我在內存中工作)應用程序配置和用戶配置。應用程序配置基本上是在應用程序被下拉時定義的,但用戶配置就是這樣 - 您設置默認值,然後,一旦由應用程序代表用戶設置,它將不會被覆蓋,當應用程序已更新。

它應該足夠簡單以提供配置編輯器 - 只要雙列網格就足夠了,只讀標籤列和可編輯值列(儘管您在驗證時會遇到一些挑戰) 。

或者,如果您對更傳統的配置感到高興,那麼您只需要1個用戶值,那將是配置文件的位置......如果您不知道是否(或無法找到)文件)提示創建,將你的默認配置從你的應用程序中的資源轉儲到指定的位置,然後你已經有了你的配置文件並離開了你。

1

您可以隨時將您的配置數據存儲在應用程序設置中。這不會在每次ClickOnce更改或更新時被覆蓋(除非您更改設置的類型)。然後您可以創建一個簡單的表單來更新它。這是許多.NET開發人員用於屏幕保護程序的技術。

0

一個項目我的工作,我們所做的應用程序下載,從它的部署位置的服務器配置文件(這是在每次啓動時完成,以處理應用程序是否被添加到開始菜單並緩存)。 ClickOnce API爲您提供服務器地址。

在另一個項目中,我們只是將一些配置值作爲查詢字符串傳遞給ClickOnce應用程序,它們由具有指向應用程序鏈接的Asp.net頁面生成。

這允許客戶改變他們的網站上的配置,而不必辭職等
(這不會與每個用戶的配置幫助)