我在打包的时候参照相关文章所作的 但是还是遇到了问题
using System;
using System.Collections;
using System.Diagnostics;
using System.Reflection;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Configuration.Install;namespace pp.DBCustomAction
{
/// <summary>
/// DBCustomAction 的摘要说明。
/// </summary>
public class DBCustomAction:System.Configuration.Install.Installer
{
public DBCustomAction()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
private string GetSql(string Name)
{
Assembly Asm = Assembly.GetExecutingAssembly(); 
Stream strm = Asm.GetManifestResourceStream(Asm.GetName().Name + "."+Name); 
StreamReader reader = new StreamReader(strm); 
return reader.ReadToEnd(); 
}
/// <summary>
/// 指定的数据库执行SQL语句
/// </summary>
/// <param name="DatabaseName">数据库名</param>
/// <param name="sqlstring">SQL语句</param>
/// <returns></returns>
private void ExecuteSql(string DataBaseName,string sqlstring)
{
SqlConnection sqlConn=new SqlConnection("server=allserver;uid=sa;pwd=;Database=master");
System.Data.SqlClient.SqlCommand Command = new System.Data.SqlClient.SqlCommand(sqlstring,sqlConn);  Command.Connection.Open(); 
Command.Connection.ChangeDatabase(DataBaseName); 
try 

Command.ExecuteNonQuery(); 

finally 

Command.Connection.Close(); 
}  } /// <summary>
/// 创建数据库及数据库表
/// </summary>
/// <param name="DBName">数据库名</param>
/// <param name="assemblyName">配件中数据库脚本资源的名称</param>
/// <returns></returns>
protected bool CreateDBAndTable(string DBName)
{
bool Restult = false;
try 
{
ExecuteSql("master","CREATE DATABASE " + DBName); 
ExecuteSql(DBName,GetSql("db.txt")); 
Restult = true;

}
catch(Exception ex) 

//次段代码为调试用可以不添加 StreamWriter sw = new StreamWriter(@"c:\SrInforSys.txt");
sw.WriteLine("[SrInforSys案装错误]");
sw.WriteLine(ex.Message.ToString());
sw.Close();

return Restult;
}


/// <summary>
/// 安装数据库
/// </summary>
/// <param name="stateSaver"></param>

// public override  void  Install(System.Collections.IDictionary stateSaver)
// {
// base.Install (stateSaver);
// CreateDBAndTable("hcpm");
// if(!CreateDBAndTable(this.Context.Parameters["dn"].ToString()))
// throw new ApplicationException("创建数据库时出现严重错误!");
// }
public override  void  Install(System.Collections.IDictionary stateSaver)
{
FileInfo f = new FileInfo(@"c:\test.txt");
StreamWriter w = f.CreateText();
w.WriteLine("This is from");
w.WriteLine("Chapter 1");
w.WriteLine("Of C# Module");
w.Write(w.NewLine);
w.WriteLine("Thanks for your time");
w.Close();
  base.Install (stateSaver);
//CreateDBAndTable("hcpm");
if(!CreateDBAndTable(this.Context.Parameters["dn"].ToString()))
throw new ApplicationException("创建数据库时出现严重错误!");
}
}
}
引入了自定义安装后 根本没有执行重载的函数还是安装原来的方式装的我的测试代码就没有执行
请问是具体那个部分操作失误了 还有 再读db.sql的时候 出错说stream变量有问题