Yo recomendaría fuertemente con la función Heat.exe Wix para cosechar todos los datos necesarios para registrar el componente COM y luego hacer referencia al fragmento en sus .wxs presentar la siguiente manera:
<ComponentGroupRef Id="FooBar.dll" />
o incluirlo en su archivo .wxs así:
<?include FooBar.dll.wxi?>
este método le da un control total sobre lo que sucede durante el registro/Anulación de la inscripción del componente Com.
Sin embargo, puede seguir utilizando Regsvr32 en un proyecto Wix. Pero depende de la correcta ejecución de las funciones RegisterServer/UnregisterServer en el componente COM
<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>
Publique sus acciones a la secuencia de instalación.
<InstallExecuteSequence>
<Custom Action="RegisterFooBar" After="InstallFinalize">NOT Installed</Custom>
<Custom Action="UnregisterFooBar" After="InstallFinalize">REMOVE="ALL"</Custom>
</InstallExecuteSequence>
Aunque solicitó una forma de registrarse, podría considerar no registrar los componentes COM. Los modelos COM sin registro le permiten usar COM dlls sin tocar el registro. Ver: http://msdn.microsoft.com/en-us/library/ms973913.aspx – harper