0

I have created an MSI package/setup with the Wix toolset. I want to customize it so users will be prompted whenever an update is available. I tried googling and found something about "Click Through" built-in function for Wix. I have no idea how to implement that, wasn't able to find any documentation.

would anyone be able to help me, please?

here is my code

    <Icon Id="favicon.ico" SourceFile="$(var.ProjectDir)images\favicon.ico"/>
    <Property Id="ARPPRODUCTION" Value="favicon.ico" />
    
    
    <Property Id="WIXUI_INSTALLDIR" Value="TESTFILEPRODUCTDIR" />
    <UIRef Id="WixUI_InstallDir"/>
    
    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
    <MediaTemplate EmbedCab="yes" />

    <Feature Id="ProductFeature" Title="Solutions Testing" Level="1">
        <ComponentGroupRef Id="ProductComponents" />
        <ComponentRef Id="ApplicationShortcut" />
        <ComponentRef Id="DesktopShortcut" />
    </Feature>

    <!--<PropertyRef Id="WIX_IS_NETFRAMEWORK_48_OR_LATER_INSTALLED"/>
    <Condition Message="This application requires .NET Framework 4.8. Please Install the .NET Framework and try the install again">
        <![CDATA[Installed OR WIX_IS_NETFRAMEWOEK_48_OR_LATER_INSTALLED]]>
    </Condition>-->
</Product>

<Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="ProgramFilesFolder">
            <Directory Id="TESTFILEPRODUCTDIR" Name="Solutions Testing">
                <Directory Id="INSTALLFOLDER" Name="Solutions Testing" />
            </Directory>
            
        </Directory>
        
        <Directory Id="ProgramMenuFolder">
        <Directory Id="MfgStartMenuFolder" Name="!(bind.property.Manufacturer)" />
    </Directory>
        
    
      <Directory Id="DesktopFolder" Name="Desktop">
          </Directory>
    </Directory>
</Fragment>


<Fragment>
    <DirectoryRef Id="MfgStartMenuFolder" >
        <Component Id="ApplicationShortcut" Guid="989d350d-a374-48b5-a436-5cf123a93589" >
            <Shortcut Id="ApplicationStartMenuShortcut"
                      Name="!(bind.property.ProductName)"
                      Description="Launch Solutions Testing application"
                      Directory="MfgStartMenuFolder"
                      Target="[INSTALLFOLDER]solutions.exe"
                      WorkingDirectory="INSTALLFOLDER" />
            <RemoveFolder Id="RemoveMfgStartMenuFolder"
                          Directory="MfgStartMenuFolder"
                          On="uninstall"
                          />
            <RegistryValue Root="HKCU" Key="Software\MyCompany\ProgramMenuShortcut" Name="installed" Type="integer" Value="1" KeyPath="yes" />
        </Component>
    </DirectoryRef>
</Fragment>

<Fragment>
    <DirectoryRef Id="DesktopFolder" >
        <Component Id="DesktopShortcut" Guid="348a78a0-cee1-4949-85ed-de664292843f" >
            <Shortcut Id="MyDesktopShortcut"
                      Name="!(bind.property.ProductName)"
                      Description="Launch Solutions Testing application"
                      Directory="DesktopFolder"
                      Target="[INSTALLFOLDER]solutions.exe"
                      WorkingDirectory="INSTALLFOLDER" />
            <RemoveFolder Id="RemoveDesktopFolder"
                          Directory="MfgStartMenuFolder"
                          On="uninstall"
                          />
            <RegistryValue Root="HKCU" Key="Software\MyCompany\DesktopShortcut" Name="installed" Type="integer" Value="1" KeyPath="yes" />
        </Component>
    </DirectoryRef>
</Fragment>
<!--<Fragment>
    <Component Id="DesktopShortcut" Guid="989d350d-a374-48b5-a436-5cf123a93589">
        <Shortcut Id="DesktopShortcut"
                  
        Name="Solutions Testing"
        Target="[INSTALLFOLDER]solutions.exe"
        WorkingDirectory="INSTALLFOLDER"
        Description="Launch Solutions Testing application" />
        <RemoveFolder Id="DesktopShortcut" On="uninstall" />
        <RegistryValue Root="HKCU" Key="Software\MyCompany\MyProduct" Name="installed" Type="integer" Value="1" KeyPath="yes" />
    </Component>
</Fragment>-->


<Fragment>
    <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
        <!-- TODO: Remove the comments around this Component element and the ComponentRef below in order to add resources to this installer. -->
        <!-- <Component Id="ProductComponent"> -->
            <!-- TODO: Insert files, registry keys, and other resources here. -->
        <!-- </Component> -->
        <Component Id="changelog.txt" Guid="58fd20aa-c5e2-4223-94c8-2ad4e50cfcbe">
          <File Id="changelog.txt" Name="changelog.txt" Source="$(var.solutions_TargetDir)changelog.txt" />
        </Component>
        <Component Id="IDTechSDK_RemoteClientModel.dll" Guid="e23fc509-57a2-4946-b8c2-548451730a4f">
          <File Id="IDTechSDK_RemoteClientModel.dll" Name="IDTechSDK_RemoteClientModel.dll" Source="$(var.solutions_TargetDir)IDTechSDK_RemoteClientModel.dll" />
        </Component>
        <Component Id="IDTechSDK.dll" Guid="114fd3bd-d16f-491c-a46e-eeb8120bc6dd">
          <File Id="IDTechSDK.dll" Name="IDTechSDK.dll" Source="$(var.solutions_TargetDir)IDTechSDK.dll" />
        </Component>
        <Component Id="Microsoft.Xaml.Behaviors.dll" Guid="0aecbc7e-0a5d-4fe0-9e7a-94439139c1ff">
          <File Id="Microsoft.Xaml.Behaviors.dll" Name="Microsoft.Xaml.Behaviors.dll" Source="$(var.solutions_TargetDir)Microsoft.Xaml.Behaviors.dll" />
        </Component>
        <Component Id="ControlzEx.dll" Guid="9589e852-b892-4fe9-9971-52b6ebde6313">
          <File Id="ControlzEx.dll" Name="ControlzEx.dll" Source="$(var.solutions_TargetDir)ControlzEx.dll" />
        </Component>
        <Component Id="Google.Apis.dll" Guid="fec61c5d-157b-44a8-8ef5-2d39b5678a39">
          <File Id="Google.Apis.dll" Name="Google.Apis.dll" Source="$(var.solutions_TargetDir)Google.Apis.dll" />
        </Component>
        <Component Id="Google.Apis.Core.dll" Guid="e2736980-12df-47b5-9f2a-6aaa84509719">
          <File Id="Google.Apis.Core.dll" Name="Google.Apis.Core.dll" Source="$(var.solutions_TargetDir)Google.Apis.Core.dll" />
        </Component>
        <Component Id="Newtonsoft.Json.dll" Guid="91ee9489-8542-4be9-9bb1-8c36857eb49d">
          <File Id="Newtonsoft.Json.dll" Name="Newtonsoft.Json.dll" Source="$(var.solutions_TargetDir)Newtonsoft.Json.dll" />
        </Component>
        <Component Id="Google.Apis.Gmail.v1.dll" Guid="c90bf768-2a09-4f9a-b756-9cf20fa0bbaf">
          <File Id="Google.Apis.Gmail.v1.dll" Name="Google.Apis.Gmail.v1.dll" Source="$(var.solutions_TargetDir)Google.Apis.Gmail.v1.dll" />
        </Component>
        <Component Id="Google.Apis.Auth.dll" Guid="f1de1ae8-c3f1-421a-ba2c-c70df8c5fbc4">
          <File Id="Google.Apis.Auth.dll" Name="Google.Apis.Auth.dll" Source="$(var.solutions_TargetDir)Google.Apis.Auth.dll" />
        </Component>
        <Component Id="xCore.dll" Guid="75e76ef6-50db-4a6b-b056-ddaf6b1d0d89">
          <File Id="xCore.dll" Name="xCore.dll" Source="$(var.solutions_TargetDir)xCore.dll" />
        </Component>
        <Component Id="PaymentEngine.dll" Guid="3b02a496-bb67-4f0e-ac9f-b4b10b46c6b7">
          <File Id="PaymentEngine.dll" Name="PaymentEngine.dll" Source="$(var.solutions_TargetDir)PaymentEngine.dll" />
        </Component>
        <Component Id="MahApps.Metro.dll" Guid="445043a4-0d18-409f-b41a-2aaa341f4a65">
          <File Id="MahApps.Metro.dll" Name="MahApps.Metro.dll" Source="$(var.solutions_TargetDir)MahApps.Metro.dll" />
        </Component>
        <Component Id="PlaceholderTextBoxController.dll" Guid="d118b7a9-d00b-4040-9135-66a3d6b700bc">
          <File Id="PlaceholderTextBoxController.dll" Name="PlaceholderTextBoxController.dll" Source="$(var.solutions_TargetDir)PlaceholderTextBoxController.dll" />
        </Component>
        <Component Id="solutions.exe.config" Guid="bb777afc-774b-4bf3-bdb1-bd116953de0d">
          <File Id="solutions.exe.config" Name="solutions.exe.config" Source="$(var.solutions_TargetDir)solutions.exe.config" />
        </Component>
        <Component Id="solutions.exe" Guid="4834b98c-6ccb-43b4-a9a0-35fa29189243">
          <File Id="solutions.exe" Name="solutions.exe" Source="$(var.solutions_TargetDir)solutions.exe" />
        </Component>
        <Component Id="xCore.Forms.dll" Guid="05b53ff3-d25b-4c29-86a1-0bbd0b15075a">
          <File Id="xCore.Forms.dll" Name="xCore.Forms.dll" Source="$(var.solutions_TargetDir)xCore.Forms.dll" />
        </Component>
        <Component Id="NLog.dll" Guid="72f6076c-65c9-4a71-9607-e309063dc403">
          <File Id="NLog.dll" Name="NLog.dll" Source="$(var.solutions_TargetDir)NLog.dll" />
        </Component>
    </ComponentGroup>
</Fragment>
Motty
  • 3
  • 2

1 Answers1

0

ClickThrough was an experimental technology early in WiX v3. It did not continue. That is why you don't find many references to it any longer.

Rob Mensching
  • 33,834
  • 5
  • 90
  • 130