Windows installer 安装期间运行sql代码的msi安装程序

Windows installer 安装期间运行sql代码的msi安装程序,windows-installer,Windows Installer,在我的web应用程序(asp.net C#)中,我添加了一个web安装应用程序。使用此web设置,我需要做两件事: 一,。将文件复制到位于IIS上的应用程序中 二,。在安装过程中运行三条insert语句 我对第二点有问题,不知道如何修复或调试它。 在自定义操作中,我已经在安装文件夹中添加了dll文件(主要输出),这几乎是我在internet上找到的关于在安装过程中运行SQL脚本的所有内容。 此外,我还需要宣布,我将通过以下方式覆盖AfterInstall上的函数: string connecti

在我的web应用程序(asp.net C#)中,我添加了一个web安装应用程序。使用此web设置,我需要做两件事: 一,。将文件复制到位于IIS上的应用程序中

二,。在安装过程中运行三条insert语句

我对第二点有问题,不知道如何修复或调试它。 在自定义操作中,我已经在安装文件夹中添加了dll文件(主要输出),这几乎是我在internet上找到的关于在安装过程中运行SQL脚本的所有内容。 此外,我还需要宣布,我将通过以下方式覆盖AfterInstall上的函数:

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语句,这将对我有很大帮助

如果您的文件加载到IIS应用程序中,为什么不通过一些XML文件提供INSERT sql,然后在应用程序中有一段代码,用于检查文件夹中的xml文件,其中包含应用程序可以在应用程序启动时运行的脚本


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

Windows Installer是一个SDK和Windows平台服务,但它不是一个真正的MSI创作工具。(虎鲸不算什么。)


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

谢谢Chris,您的回答对我来说是一种新的方法,而且非常符合逻辑,我可能明天会尝试,因为现在时间不早了,我困了。新鲜的眼睛总是一个好主意。把问题留在第二天解决。谢谢。我同意你的看法:),还有一件事:是否可以指定我要复制主要输出的应用程序文件夹?再次感谢