C#打包问题,急!

seraph2 2010-06-15 09:52:12
目标机器上没有Framework,我是用VS2008开发的系统,从VB里翻版过来的,操作手册已经提交了,安装界面都没办法更改,现在想将framework3.5打包到安装文件中,有没有什么办法?

已经使用过两种Linker工具和飞信的环境包,但那两种打包完成后系统里有一部分功能无法使用,影像整个系统的运作。
测试的时候发现是系统中的加密代码在环境包里没有,加密代码如下:

private static byte[] DESKey = new byte[] {12, 33, 255, 102, 72, 41, 18, 12};
//获取或设置对称算法的初始化向量
private static byte[] DESIV = new byte[] {75, 65, 77, 97, 78, 57, 17, 36};

/**//**//**//// <summary>
/// 加密DataSet
/// </summary>
/// <param name="objDataSet"></param>
/// <param name="outFilePath"></param>
public static bool EncryptDataSetToXml(DataSet objDataSet,string outXmlFilePath)
{
bool Res = false;
try
{

//objDataSet.WriteXml(outXmlFilePath);
DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
FileStream fout = new FileStream(outXmlFilePath, FileMode.OpenOrCreate, FileAccess.Write);
//用指定的 Key 和初始化向量 (IV) 创建对称数据加密标准 (DES) 加密器对象
CryptoStream objCryptoStream = new CryptoStream(fout, objDES.CreateEncryptor(DESKey, DESIV), CryptoStreamMode.Write);
StreamWriter objStreamWriter = new StreamWriter(objCryptoStream);
XmlSerializer objXmlSer = new XmlSerializer(typeof(DataSet));
objXmlSer.Serialize(objStreamWriter, objDataSet);

objStreamWriter.Close(); objCryptoStream.Close(); fout.Close();
Res = true;
}
catch (Exception ei){
System.Windows.Forms.MessageBox.Show(ei.Message);
}
return Res;
}
public static DataSet DecryptDataSetFromXml(string inXmlFilePath)
{
DataSet ds = new DataSet();
try
{
//ds.ReadXml(inXmlFilePath);
DESCryptoServiceProvider objDES = new DESCryptoServiceProvider();
FileStream fin = new FileStream(inXmlFilePath, FileMode.Open, FileAccess.Read);
//用指定的 Key 和初始化向量 (IV) 创建对称数据加密标准 (DES) 加密器对象
CryptoStream objCryptoStream = new CryptoStream(fin, objDES.CreateDecryptor(DESKey, DESIV), CryptoStreamMode.Read);
TextReader objTxrReader = new StreamReader(objCryptoStream);
XmlSerializer objXmlSer = new XmlSerializer(typeof(DataSet));
ds = (DataSet)objXmlSer.Deserialize(objTxrReader);
objTxrReader.Close();
}
catch { }
return ds;
}


我还郁闷,望高手帮忙,谢谢!
...全文
187 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
abcdef1111111 2010-06-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 wxm3630478 的回复:]
如果用VS2008 自带的安装部署打包程序

打包时设置

属性---系统必备---指定系统必备组件的安装位置----选择[从与我的应用程序相同位置下载]
[/Quote]up
xk1126 2010-06-15
  • 打赏
  • 举报
回复
将framework3.5打包到安装文件中,VS2008的安装部署中有选项。
javaplan 2010-06-15
  • 打赏
  • 举报
回复
用这个工具可以打包 installshield
加一些系统必备的framework3.5包,就可心了,界面也可以改,楼主可以试试
seraph2 2010-06-15
  • 打赏
  • 举报
回复
补充一下,因为系统在开发前使用的工具是VB,打包工具使用的是SETUP factory,因此在翻版后系统已无法使用VS2008自带的安装部署功能,所以想找个其他的解决方案,谢谢!
xray2005 2010-06-15
  • 打赏
  • 举报
回复
如果用VS2008 自带的安装部署打包程序

打包时设置

属性---系统必备---指定系统必备组件的安装位置----选择[从与我的应用程序相同位置下载]
liuye6569 2010-06-15
  • 打赏
  • 举报
回复
帮顶~
wuyq11 2010-06-15
  • 打赏
  • 举报
回复
安装部署中设置系统必备条件
自定义操作可添加安装类install
wxm3630478 2010-06-15
  • 打赏
  • 举报
回复
如果用VS2008 自带的安装部署打包程序

打包时设置

属性---系统必备---指定系统必备组件的安装位置----选择[从与我的应用程序相同位置下载]
siegebaoniu 2010-06-15
  • 打赏
  • 举报
回复
打开解决方案管理器,右击你的解决方案名称,选择属性:

在打开的属性页中,选择"系统必备",这里面有环境打包选项。

http://bbs.bccn.net/viewthread.php?tid=129015
siegebaoniu 2010-06-15
  • 打赏
  • 举报
回复
将framework3.5打包到安装文件中,VS2008的安装部署中有选项。
ztaimm 2010-06-15
  • 打赏
  • 举报
回复
帮顶~
tong_xing 2010-06-15
  • 打赏
  • 举报
回复
http://blog.csdn.net/tong_xing/archive/2010/03/20/5399812.aspx

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧