2011-07-02 38 views
3

我有一個項目,我想用clickonce ...如何通過clickonce使用文本文件並在更新時能夠更新它?

在項目目錄中,它有它的文本文件需要bt我的應用程序。

  1. 如何通過clickonce將我的程序與文本文件交付給最終用戶?

  2. 如果我更改文本文件,添加和刪除以及修改一些內容,clickonce如何幫助我替換最終程序中的舊文本文件和主程序。

  3. 樣本僞代碼,如果可能的話。

TNX

PS:文本文件由我的程序,但它不是源代碼的一部分使用。

+0

當你說「如果我改變文本文件怎麼辦」,你的意思是集中改變它們,然後將改變部署到所有客戶端,對嗎?與在本地更改文件(如單個客戶端可能會修改的設置文件)相反。 –

+0

正好。我想每週更改文本文件,我希望將這些文本文件下載到它們中,並刪除集中存在的所有舊文本文件。 – Lufthansa

回答

2

1)您可以向您提供一個文本文件給您的最終用戶。您可以在您的應用程序中使用embed the file,並通過ClickOnce提供。

步驟(從MSDN)是:

  1. 右鍵單擊您的項目名稱,單擊添加 ,然後單擊添加新項。在 的新建項目對話框中,從菜單中選擇文本 文件,並命名 文件MyTextFile.txt。在集成開發 環境(IDE)中打開文件 時,添加一些文本 ,然後關閉該文件。

  2. 右鍵單擊文本文件 ,然後選擇屬性。

    在「屬性」對話框中,找到「構建操作」屬性的 。默認情況下,該屬性設置爲 內容。

  3. 單擊該屬性並將Build Action屬性更改爲Embedded Resource。

2)每當你會做一個新的版本,ClickOnce的將發回新的文本資源

3)

StreamReader _textStreamReader = new StreamReader(_assembly.GetManifestResourceStream("MyNameSpace.MyTextFile.txt")); 
Console.WriteLine(_textStreamReader.ReadLine()); 
+0

thnx但問題是,如何在更新中刪除舊文本文件(舊版本)(新版本發佈時它們不會出現在中央服務器中)? – Lufthansa

+0

它被嵌入,因此更新後舊文件將不可用。只是更新會在那裏。 –

+0

Tnx但我有一個sample.exe文件,它的閱讀文本文件。我的程序只是啓動並啓動sample.exe進程。可以在clickonce部署中嵌入sample.exe嗎? – Lufthansa

0

如果您就在您的ClickOnce項目單擊並選擇屬性,然後單擊應用程序文件。如果您的文本文件和exe文件的狀態爲「include」和「required」,則每次發佈新版本的項目時,這些文件都將被複制到本地客戶端。

只要確保您的clickonce項目設置可讓客戶端在每次應用程序啓動時自動檢查更新。 (單擊應用程序文件按鈕下面的「更新」按鈕)

0

您可以將文件添加到項目中。將構建操作設置爲「內容」,並將「複製到輸出目錄」設置爲「始終複製」。然後,當您發佈時,這些文件應該包含在程序集中。我假設你讓用戶以編程方式訪問這些內容?

當您要更改文件時,只需更改它們併發布新版本並將其更新爲必需更新 - 在「更新」對話框中,將最低版本設置爲您要發佈的同一版本,並確保您在appliaction運行之前檢查更新。它將爲新版本創建一個新文件夾,並將您擁有的文本文件放在該項目中,而不是複製舊文件。