我创建了一个使用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选项获取此信息。