Building Connection Center add-ins using WiX - part 2

To actually get anything installed, we'll need a more reasonble WXS file.

<?xml version="1.0"?>
<Wix xmlns="https://schemas.microsoft.com/wix/2003/01/wi">
  <Product Name="Microsoft HealthVault Shortcut - Fabrikam WidgetTracker"
     Id="PUT-GUID-HERE"
     Language="1033"
     Codepage="1252"
     Version="1.0.0.0"
     Manufacturer="Fabrikam"
     UpgradeCode="PUT-GUID-HERE">

    <Package
       Id="PUT-GUID-HERE"
       Description="Microsoft HealthVault Shortcut - Fabrikam WidgetTracker"
       Manufacturer="Fabrikam"
       InstallerVersion="100"
       Compressed="yes"/>

    <Property Id="ARPNOMODIFY" Value="1" />
    <Property Id="ARPNOREPAIR" Value="1" />

    <Media Id="1" Cabinet="CCextend.cab" EmbedCab="yes"/>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <!--***************************************************************************-->
      <!--These are files that get installed in the machines 'Documents and Settings'-->
      <!--subfolders.  The files are places in a location that the ConnectionCenter app  -->
      <!--knows to look in for MS and 3rd party components that should show up in the-->
      <!--ConnectionCenter UI.                                                           -->
      <!--The 1st Directory ID below is a pre-defined value that represents a        -->
      <!--location on the user's Windows machine.                                    -->
      <!--The files are copied into the 'all users' app data/settings directory      -->
      <!--***************************************************************************-->
      <Directory Id="CommonAppDataFolder" Name="LAppsDir">
        <Directory Id="AppDataMSDir" Name="Msft" LongName="Microsoft">
          <Directory Id="AppDataHealthSolutionsDir" Name="HSDir" LongName="HealthVault">
            <Directory Id="AppDataHealthCenterDir" Name="HCDir" LongName="Connection Center" >
              <Component Id="ConnectionCenterShortcut" Guid="PUT-GUID-HERE">

                <File Id="shortcut_xml"
                     Name="short_0.xml"
                     LongName="WidgetTracker.xml"
                     DiskId="1"
                     Source="WidgetTracker.xml"
                     Vital="yes"/>

                <File Id="shortcut_icon"
                     Name="short_0.ico"
                     LongName="WidgetTracker.ico"
                     DiskId="1"
                     Source="WidgetTracker.ico"
                     Vital="yes"/>

                <File Id="shortcut_logo"
                     Name="short_l.xml"
                     LongName="WidgetTracker.png"
                     DiskId="1"
                     Source="WidgetTracker.png"
                     Vital="yes"/>

              </Component>
            </Directory>
          </Directory>
        </Directory>
      </Directory>
    </Directory>

   <Feature Id="Complete" Level="1">
      <ComponentRef Id="ConnectionCenterShortcut" />
    </Feature>
  </Product>
</Wix>

The ARPNOMODIFY and ARPNOREPAIR tags mean that the shortcut doesn't show 'repair' or 'modify' UI in add/remove programs.

The directory tags define the folder hierarchy so that the files will get in the proper place.

The component tag defines the component. It needs a unique GUID, but AFAICT, you do not need to create a new one with each release.

The file tags are pretty explanatory. Source is the build location, and LongName is the name of the file in the target directory. Note that the filenames need to be unique to your application, so if you have a particular brand, it would be good to name them using that.

Finally, the feature tag defines which components are included in the product.

So, now we could run that and create a package, if only we knew what the files looked like. That's next.