在C# winform中可以使用發佈來發佈一個C/S程序(智能客戶端),用戶可以通過網站來訪問該網址實現軟件安裝.
客戶端每次運行時都會去檢查服務器的更新,這極大的改善了CS程序的弊端.
但在發佈時有一定的侷限性,比如一些本地的文件*.txt、*.ssk文件不能被正常訪問。此時我們可以
通過兩種方案來解決這個問題:
A、將這些文件複製到客戶端的"C:/Documents and Settings/Administrator/Local Settings/Apps"的對就文件夾下。
B、將不能在工程屬性裏配置發佈的(在工程的配置文件裏可以指定部分文件是否要發佈,像xml文件就可以在這裏指定),通過資源文件來存放。
例如:
using System.Reflection;
using System.IO;
Assembly assembly = GetType().Assembly; --創建資源文件
Stream steam = new MemoryStream(global::DeskAssistant.Properties.Resources.MP10); --讀取資源文件,返回爲byte型。
this.skinEngine1.SkinStream = steam; --將steam賦給皮膚對象的SkinStream屬性。
資源文件相關操作可以在gogle裏搜"C# 嵌入資源"來獲取相關信息;
C、另外在*.ssk等文件的屬性裏我們也可以配置是否發送到客戶端,也可以指定寫入到資源文件。
通過這種方式編譯的文件,在智能客戶端安裝時會被COPY到本地。