码迷,mamicode.com
首页 > 其他好文 > 详细

将文件从程序集中复原

时间:2014-12-25 20:20:09      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:

1、场景:

发到客户那的程序中使用的一个C++的库需要被替换,而该库在使用了前使用了md5进行检验防止其它伪装的库将其替换,因而替换时要算目标库的

md5,并把使用该库的另一个库也换掉。

2、涉及技术:

做一个离线补丁包去升级程序,并将库文件集成到其中,程序运行时再将其释放出来。

3、解决方法:

将目标库当成资源添加到工程中,并在需要时调用它写入文件

 1         private bool GetFileFromAssembly(String fileName, String targetFilePath)
 2         {
 3             byte[] bs = null;
 4             String fileNameWithoutExtension = fileName.Substring(0, fileName.Length - 4);
 5             MemoryStream ms = null;
 6             FileStream fs = null;
 7 
 8             try
 9             {
10                 bs = (byte[])Properties.Resources.ResourceManager.GetObject(fileNameWithoutExtension);
11                 ms = new MemoryStream(bs);
12                 fs = new FileStream(targetFilePath, FileMode.Create);
13                 ms.WriteTo(fs);
14             }
15             catch (System.Exception ex)
16             {
17                 return false;
18             }
19             finally
20             {
21                 ms.Close();
22                 fs.Close();
23             }
24             return true;
25         }

4、相关程序:

 

将文件从程序集中复原

标签:

原文地址:http://www.cnblogs.com/hshuzhao/p/4185380.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!