2013-04-30 146 views
0

在我的web应用程序(asp.net C#)中添加了web安装程序。有了这个网络的设置,我需要做两件事情:安装安装期间运行sql代码的msi安装程序

我有第二点问题,不知道如何解决过程中

2.运行三个插入语句

1.复制文件到位于IIS应用程序它或调试它。 内部自定义操作我已经在安装文件夹中添加了dll文件(主要输出),这几乎是我在互联网上发现的关于安装过程中运行SQL脚本的全部内容。 此外,我要宣布,我重写功能OnAfterInstall在这条路上:

string connectionString1 = string.Format("Data Source={0};Initial Catalog={1};Integrated Security=True;", Context.Parameters["db"], Context.Parameters["catalog"]); 
using (SqlConnection connection = new SqlConnection(connectionString1)) 
{ 

string CommandText = "insert into Sealed (Example) values ('now is OK'); "; 
SqlCommand com = new SqlCommand(CommandText, connection); 
com.ExecuteNonQuery();     
}  

如果你知道一些好的教程或书,描述在运行安装过程中的SQL语句,它会帮助我很多

回答

2

如果你的文件被加载到IIS应用程序,为什么不通过一些XML文件提供INSERT sql,然后在应用程序中有一段代码检查文件夹中是否包含应用程序可以在Application_Start上运行的脚本的xml文件。

您需要有一种机制,在运行或删除它们后忽略它们。

+0

谢谢克里斯,你的回答对我来说是新方法,非常合理的答案,我明天可能会尝试,因为现在已经很晚了,我很困了 – Ognjen 2013-04-30 22:11:44

+0

新鲜的东西总是一个好主意。睡在它上面。谢谢。 – Chris 2013-04-30 22:13:03

+0

我同意你:),只是一件事:是否可以指定我想复制的应用程序文件夹主输出?再次感谢 – Ognjen 2013-04-30 22:15:09

0

Windows安装程序是一个SDK和Windows平台服务,但它不是一个真正的MSI创作工具。 (ORCA并不真正计数。)

查看Windows安装程序XML(WiX)或InstallShield。他们都在MSI上添加了对SQL连接和脚本执行的支持,而无需自己编写它。