SQL Server データベースまたはローカル SQLite データベースを使用する C# アプリケーションを作成しました。2 つを同期するために、SQL Server データベースから SQLite ファイルを作成するコマンド ライン コンバーター (C# も) を作成しました。
すべてがうまく機能し、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 オプションを介してこの情報を取得します。