我创建了一个使用 SQL Server 数据库或本地 SQLite 数据库的 C# 应用程序。为了同步这两者,我创建了一个命令行转换器(也是 C#),它从 SQL Server 数据库创建 SQLite 文件。
一切正常,在 Wix 安装程序中,我不包含 SQLite 数据库文件。这可以节省空间并且更安全,因为数据库包含定价信息(SQL Server 在我们公司网络之外不可见)。在安装程序中,我创建了一个自定义操作来运行转换器(为清楚起见,简化了 XML)。
<CustomAction Id="SQLConvert"
FileKey="SqlConverter.exe"
ExeCommand="-sqlitefile:[INSTALLDIR]Database.db3"
Execute="commit"
Impersonate="yes"
Return="ignore" />
<InstallExecuteSequence>
<Custom Action="SQLConvert" Before="InstallFinalize">NOT REMOVE ~= "ALL"</Custom>
<RemoveExistingProducts After="InstallFinalize" />
</InstallExecuteSequence>
这将启动转换器(它不会隐藏运行),但找不到生成的文件(或日志)。文件保存在哪里?它应该已经保存在安装目录中。转换器通过 ExeCommand 选项获取此信息。