在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到本地。