简体   繁体   中英

Wix Installer shortcut startmenu not appearing

I was trying to make an installer for windows 7, want to create shortcut of application in 'All Program' menu and desktops. I write but shortcut is not appearing. Is there anything wrong with this Code ?

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
  <?define POS_TargetDir=$(var.POS.TargetDir)?>
  <Product Id="*" Name="PosSetupProject" Language="1033" Version="1.0.0.0" Manufacturer="Cumulus" UpgradeCode="*">
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
    <MediaTemplate EmbedCab="yes" />

    <Feature Id="ProductFeature" Title="PosSetupProject" Level="1">
      <ComponentGroupRef Id="ProductComponents" />
      <ComponentGroupRef Id="CReport_files" />
      <ComponentGroupRef Id="Resources_files" />
      <ComponentRef Id="ProgramMenuDir"/>
    </Feature>

  </Product>

  <Fragment>

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="DesktopFolder" Name="Desktop" />


      <Directory Id="ProgramMenuFolder" Name="Programs">
        <Directory Id="ApplicationProgramsFolder" Name="WixSingleSetup">
          <Component Id="ProgramMenuDir" Guid="*">
            <RemoveFolder Id="ProgramMenuDir" On="uninstall"/>
            <RegistryValue Root="HKCU" Key="Software\[Manufacturer]\WixSetup"
                           Type="integer" Value="1" Name="installed" KeyPath="yes" />
          </Component>
        </Directory>
      </Directory>



      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLFOLDER" Name="PosSetupProject">
          <Directory Id="CReport" Name="CReport" />
          <Directory Id="Resources" Name="Resources" />
        </Directory>
      </Directory>

    </Directory>

  </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="POS.exe" Guid="*">
        <File Id="POS.exe" Name="POS.exe" Source="$(var.POS_TargetDir)POS.exe" />
      </Component>
      <Component Id="POS.exe.config" Guid="*">
        <File Id="POS.exe.config" Name="POS.exe.config" Source="$(var.POS_TargetDir)POS.exe.config" />
      </Component>
      <Component Id="poscon.pos" Guid="*">
        <File Id="poscon.pos" Name="poscon.pos" Source="$(var.POS_TargetDir)poscon.pos" />
      </Component>

    </ComponentGroup>
  </Fragment>

  <Fragment>
    <ComponentGroup Id="CReport_files" Directory="CReport">

    </ComponentGroup>
  </Fragment>
  <Fragment>
    <ComponentGroup Id="Resources_files" Directory="Resources">

    </ComponentGroup>
  </Fragment>
</Wix>

If I'm not missing anything, well, the Shortcut -element is missing completely. I guess that you want to create a shortcut to your POS.exe . In this case, change your POS.exe -component to the following:

  <Component Id="POS.exe" Guid="*">
    <File Id="POS.exe" Name="POS.exe" Source="$(var.POS_TargetDir)POS.exe" />
    <Shortcut Id="MyShortcut" Name="My shortcut" Target="[POS.exe]" />
  </Component>

This should use the POS.exe -component as target and install the shortcut into Program menu for all users (if property ALLUSERS is set to 1 ).
Also check the how-to on the WiX-site regarding creating a shortcut.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM