Wix ツールの Heat.exe を使用して、com コンポーネントの登録に必要なすべてのデータを収集し、次のように .wxs ファイル内のフラグメントを参照することを強くお勧めします。
<ComponentGroupRef Id="FooBar.dll" />
または、次のように .wxs ファイルに含めます。
<?include FooBar.dll.wxi?>
このメソッドを使用すると、Com コンポーネントの登録/登録解除中に何が起こるかを完全に制御できます。
ただし、Wix プロジェクトで Regsvr32 を引き続き使用することはできます。ただし、COM コンポーネントでの RegisterServer/UnregisterServer 関数の正しい実装に依存しています。
<CustomAction Id="RegisterFooBar"
Directory="INSTALLDIR"
ExeCommand='regsvr32.exe /s "[INSTALLDIR]FooBar.dll"'>
</CustomAction>
<CustomAction Id="UnregisterFooBar"
Directory="INSTALLDIR"
ExeCommand='regsvr32.exe /s /u "[INSTALLDIR]FooBar.dll"'>
</CustomAction>
次に、アクションをインストール シーケンスに追加します。
<InstallExecuteSequence>
<Custom Action="RegisterFooBar" After="InstallFinalize">NOT Installed</Custom>
<Custom Action="UnregisterFooBar" After="InstallFinalize">REMOVE="ALL"</Custom>
</InstallExecuteSequence>