2011-12-21 71 views
1

我試圖說服我的團隊使用ClickOnce對我們來說對於部署和更新是很好的。我遇到的唯一問題不是賣家,而是外部文件(SqlCe數據文件,日誌文件等)無法編碼爲與可執行文件位於同一目錄中的事實。ClickOnce和額外文件

我提出的一種解決方法是,我們總是使用c:盤上已知的目錄進行編碼,但這看起來像是黑客。

有沒有更好的方式來使用ClickOnce與外部文件,或者這是唯一的方法?

+1

有你看着使用的配置文件,你在說什麼,你想要什麼..看起來是兩個不同的東西..記住一件事..所有的事情都是可能的直通CODE ... – MethodMan 2011-12-21 15:50:44

+0

你控制環境(S )這個應用程序將用於何處? – 2011-12-21 15:51:09

+0

使用app.config文件可能是在運行時選擇文件路徑的好方法。我得給出一些考慮。謝謝:-) 奧斯汀,你什麼意思? – ABR 2011-12-21 16:39:36

回答

2

您可以選擇哪些文件在項目屬性部署包括>發佈選項卡>應用程序文件...

是,你必須將外部文件在項目文件夾中,但要部署的問題他們到可執行文件相同的文件夾?啓動時很簡單,可以獲取正在執行的程序集路徑,然後獲取應用程序所需的任何子文件夾的路徑。

ClickOnce是偉大的,但它有它的煩惱。最近被我咬的人是它doesn't update if it's pinned to a Windows 7 Taskbar

+0

偉大的文章。我看到那篇文章是從2009年開始的。至今仍然是個問題? 某些文件在運行時生成,如日誌文件。有些是由用戶添加的,例如SqlCe數據文件。我看到使用ClickOnce的問題是,如果客戶支持需要,用戶將無法找到應用程序的位置來放置SqlCe數據文件或能夠找到日誌文件。 這就是我認爲在可執行文件外定義的位置是最好/唯一的方法。 – ABR 2011-12-21 16:45:28

+0

示例:當前,日誌記錄(我們使用Log4Net)配置爲使用滾動文件appender的相對路徑。這個相對路徑對於用戶根據我對ClickOnce的理解來定位該日誌文件非常困難。 – ABR 2011-12-21 16:46:15

+0

不幸的是,釘住問題仍然存在。現在我更好地理解了您的問題,我建議將這些文件夾放在用戶本地應用程序數據系統文件夾中。根是Environment.SpecialFolder.LocalApplicationData或CommonApplicationData - 你應該在那裏創建你的應用程序的文件夾。 – 2011-12-21 18:00:54