I am newbie on WIX and trying to install msi as part of existing (BIG) Wix Setup project which already installed couple of application. So I Add package in Bootstrapper bundle same like an existing package for another msi.
<Fragment>
<Variable Name="MyCoditionVariable" Type="numeric" Value="0"/> <!--This variable is being set by selected feature in UI-->
<PackageGroup Id="MyMSIConnector">
<MsiPackage Id="MyMSIConnectorSetup"
DisplayName="My MSI"
Cache="no"
Compressed="yes"
ForcePerMachine="yes"
Permanent="no"
Vital="yes"
SourceFile="$(var.RedistDir)\Connector.msi"
InstallCondition="MyCoditionVariable">
</MsiPackage>
</PackageGroup>
</Fragment>
It installed successfully in default Porgram Files (86) folder. This msi also install Window Service which started by default. Now my requirements is - After installation I want to stop this window service. - And also add up a registry value for this msi installed or not.
So I surely need a component but I am not sure, how can I create a Component without relationship of this msi/files. If I try
<Fragment>
<DirectoryRef Id="ProgramFilesFolder">
<Component Id="MyMSICompnonentId" Guid="{3F29E17B-F4E3-4656-BA97-7ACE9D202FA5}">
<ServiceControl Id="MyMSIControl" Name="Control.CommunicationManager" Stop="both" Remove="uninstall" Wait="yes"/>
</Component>
</DirectoryRef>
</Fragment>
and then in Product.wxs
<Feature Id="ProductFeature" Title="StopCognyticService" Level="1">
<ComponentRef Id="MyMSICompnonentId" />
</Feature>
project doesn't build because there is no KeyFile or location. If I setup 'KeyPath="yes"' with component then project build but it completely ignore during installation (might be it needs association with physical file on user machine???)
MSI (s) (84:28) [02:03:16:324]: Component: MyMSICompnonentId; Installed: Absent; Request: Null; Action: Null
Any hint on it please.