1

我有一个 MSI 安装程序,最后运行 ac# 自定义操作,在安装程序退出之前执行 sql 脚本。我们决定执行此操作的最佳方法是将 sql 脚本文件粘贴在与 MSI 文件相同的目录中,并让它以这种方式加载脚本。

问题是,安装程序将自身复制到 Windows\system32 然后从那里执行,所以我找不到原始目录来执行脚本文件。任何帮助或想法将不胜感激!

4

2 回答 2

2

OriginalDatabase房产对你有帮助吗?

Windows 安装程序将OriginalDatabase属性设置为用于启动安装的安装数据库的路径。如果从命令行启动安装,则该值取决于 recache 包选项(-v 标志)是否存在于REINSTALLMODE属性中。

于 2011-08-20T09:02:53.137 回答
0

如果您使用 C# 编写托管自定义操作,您应该使用 Windows Installer XML (WiX) 部署工具基础 (DTF)。您可以创建一个 C# 项目并将您的 SQL 文件添加为项目内容,它将被打包以供使用,并在运行时在当前目录中可用。

顺便说一句,假设(或不)您正在使用 MSSQL,WiX 已经具有 SQL 脚本执行处理。

于 2011-08-21T02:13:57.130 回答