Как создать ярлык в папке «Рабочий стол пользователя»

Обновлен с Complete Wix Project согласно Craigster

<?xml version="1.0" encoding="UTF-8"?>
<?define SourceDir = "C:\Users\BillSmith\Documents\Visual Studio 2015\Projects\AIS\AIS\bin\Debug" ?>
<?define icon = "C:\Users\BillSmith\Documents\Visual Studio 2015\Projects\AIS\AIS\bin\Debug\1Password.ico" ?>
<?define DesktopFolder = "H:\Desktop" ?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">  
    <Product Id="*" Name="APS" Language="1033" Version="1.3.0.0" Manufacturer="SS" UpgradeCode="890c447c-5a09-4abb-9b01-fadf5e64aad5">
      <Package Id="*" InstallerVersion="200" Compressed="yes" InstallScope="perMachine"
        Description="APS 1.2"
        Comments="APS will assist you with changing your password with a single click!"
        Manufacturer="SS"
        InstallPrivileges="elevated"
        Platform="x86" />

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

      <Feature Id="ProductFeature" Title="AutomatedIDSystemInstaller" Level="1">
        <ComponentGroupRef Id="ProductComponents" />
      </Feature>
    </Product>

    <Fragment>
      <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="ProgramFilesFolder">
          <Directory Id="INSTALLFOLDER" Name="APS" />
        </Directory>
      </Directory>
    </Fragment>
    <Fragment>
      <DirectoryRef Id="TARGETDIR">
        <Directory Id="DesktopFolder" />
      </DirectoryRef>
      <Icon Id="Password.ico" SourceFile="$(var.SourceDir)\1Password.ico" />
      <Property Id="ARPPRODUCTICON" Value="Password.ico" />
    </Fragment>

  <!-- The casing of 'ANOTHERLOCATION' and 'WindowsVolume' is very important here.
     Replace 'MyNewDir' with the correct name of the folder you want on
     WindowsVolume.
-->
    <SetDirectory Id="DesktopFolder" Value="H:\Desktop" />


    <!--<Fragment>
    <Component Id="DesktopShortcut" Directory="APPLICATIONFOLDER" Guid="*">
      <RegistryValue Id="RegShortcutDesktop" Root="HKCU"
              Key="SOFTWARE\APS\settings" Name="DesktopSC" Value="1"
              Type="integer" KeyPath="yes" />
      <Shortcut Id="desktopSC" Target="[APPLICATIONFOLDER]APS.exe"
              Directory="DesktopFolder" Name="APS"
              IconIndex="0"
              WorkingDirectory="APPLICATIONFOLDER" Advertise="no"/>
    </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="ProductComponents">
        <File Source="$(var.AutomatedIDSystem.TargetPath)" KeyPath="yes">
          <Shortcut Id="APSShortcut" 
                    Name="APS"
                    Advertise="yes" 
                    Description="1-Click to Change all your passwords!" 
                    WorkingDirectory="INSTALLFOLDER" 
                    ShortName="APS"                      
                    Directory="DesktopFolder"/>
        </File>
      </Component>-->


        <Component Guid="{27E3322C-C85D-4451-A06D-21B524878CA0}">

          <File Source="$(var.AutomatedIDSystem.TargetPath)" KeyPath="yes">

            <Shortcut Id="APSShortcut"
                      Name="APS"
                      Advertise="yes"
                      Description="1-Click to Change all your passwords!"
                      WorkingDirectory="INSTALLFOLDER"
                      ShortName="APS"
                      Directory="DesktopFolder" Icon="Password.ico" IconIndex="0" />
          </File>
        </Component>
        <Component Id="HtmlAgilityPack.dll" Guid="{119C78DC-EFE5-4C84-9583-17F3DE341EFC}">
          <File Id="HtmlAgilityPack.dll" Source="$(var.SourceDir)\HtmlAgilityPack.dll" KeyPath="yes" />
        </Component>
        <Component Id="Microsoft.VisualBasic.PowerPacks.Vs.dll" Guid="{D6DBE101-004B-4383-A5F5-7BF16EB0C0FC}">
          <File Id="Microsoft.VisualBasic.PowerPacks.Vs.dll" Source="$(var.SourceDir)\Microsoft.VisualBasic.PowerPacks.Vs.dll" KeyPath="yes" />
        </Component>
        <Component Id="rtools_setup_x64.exe" Guid="{622D3FCF-E3A0-4A12-99B0-E9D7F879CB16}">
          <File Id="rtools_setup_x64.exe" Source="$(var.SourceDir)\rtools_setup_x64.exe" KeyPath="yes" />
        </Component>
        <Component Id="AutomatedIDSystem.application" Guid="{DB61CF4D-E785-44FD-BB95-D19F7D1619FB}">
          <File Id="AutomatedIDSystem.application" Source="$(var.SourceDir)\APS.application" KeyPath="yes" />
        </Component>
        <Component Id="AutomatedIDSystem.exe.config" Guid="{3E1CD5E7-1AF7-47AF-9FE3-30CEC56EF950}">
          <File Id="AutomatedIDSystem.exe.config" Source="$(var.SourceDir)\APS.exe.config" KeyPath="yes" />
        </Component>
        <Component Id="AutomatedIDSystem.exe.manifest" Guid="{07689029-E9E0-47C0-87D7-5A94FC959EDF}">
          <File Id="AutomatedIDSystem.exe.manifest" Source="$(var.SourceDir)\APS.exe.manifest" KeyPath="yes" />
        </Component>
        <Component Id="AutomatedIDSystem.pdb" Guid="{4D3FBB60-6F55-439E-A88B-ADE7AF7A7459}">
          <File Id="AutomatedIDSystem.pdb" Source="$(var.SourceDir)\APS.pdb" KeyPath="yes" />
        </Component>
        <!--<Component Id="AutomatedIDSystem.vshost.application" Guid="{684D3AC6-FC03-4E87-944B-2D897169CDDE}">
        <File Id="AutomatedIDSystem.vshost.application" Source="$(var.SourceDir)\APS.vshost.application" KeyPath="yes" />
      </Component>-->
        <Component Id="AutomatedIDSystem.vshost.exe" Guid="{478284E1-999D-481D-91B4-4F8F15B998A6}">
          <File Id="AutomatedIDSystem.vshost.exe" Source="$(var.SourceDir)\APS.vshost.exe" KeyPath="yes" />
        </Component>
        <!--<Component Id="AutomatedIDSystem.vshost.exe.config" Guid="{099D79F8-370D-40FE-A6C2-0B76B6397FC7}">
        <File Id="AutomatedIDSystem.vshost.exe.config" Source="$(var.SourceDir)\APS.vshost.exe.config" KeyPath="yes" />
      </Component>-->
        <!--<Component Id="AutomatedIDSystem.vshost.exe.manifest" Guid="{48F07333-9C5B-4894-961D-531C26874531}">
        <File Id="AutomatedIDSystem.vshost.exe.manifest" Source="$(var.SourceDir)\APS.vshost.exe.manifest" KeyPath="yes" />
      </Component>-->
        <Component Id="Password.ico" Guid="{99391003-D8EE-4E6A-98E2-393F2ECE09D8}">
          <File Id="Password.ico" Source="$(var.SourceDir)\1Password.ico" KeyPath="yes" />
        </Component>
        <Component Id="setup.bat" Guid="{0460C522-A02B-4C8B-A0EE-34F1AFF677D1}">
          <File Id="setup.bat" Source="$(var.SourceDir)\setup.bat" KeyPath="yes" />
        </Component>

        <Component Id="netframework" Guid="{6BFA9239-38C7-4040-9487-6A5D20315CA7}">
          <File Id="netframework" Source="$(var.SourceDir)\dotnetfx452_full_x86_x64.exe" KeyPath="yes" />
        </Component>

        <!--    <Component Id="DesktopShortcut" Directory="DesktopFolder"> -->
        <Component Id="ApplicationShortcutDesktop" Guid="902B784B-B1F0-4629-AAC9-D46845734248">
          <Shortcut Id="ApplicationDesktopShortcut" Name="AppName" Description="APS" Target="[INSTALLFOLDER]APS.exe" WorkingDirectory="INSTALLFOLDER" />
          <RemoveFolder Id="DesktopFolder" On="uninstall" />
          <RegistryValue Root="HKCU" Key="Software\APS" Name="installed" Type="integer" Value="1" KeyPath="yes" />
        </Component>
        <!--</Component>-->

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

После следования в направлении, что Craigster и он предоставляет предупреждения для строки 31

 <SetDirectpry Id="DesktopFolder" Value="H:\Desktop" />

предупреждение в строке 41 говорит

Show Details    Severity    Code    Description Project File    Line
    Error       The Wix element contains an unexpected child element 'SetDirectory'.    Product.wxs 41
    Warning     The element 'Wix' in namespace 'http://schemas.microsoft.com/wix/2006/wi' has invalid child element 'SetDirectory' in namespace 'http://schemas.microsoft.com/wix/2006/wi'. List of possible elements expected: 'Fragment' in namespace 'http://schemas.microsoft.com/wix/2006/wi'. Product.wxs 41

Скажите, пожалуйста, что мне нужно сделать с моим WIX, чтобы создать ярлык на H: \ Desktop

Кроме того, что мне нужно удалить, потому что это ненужно / избыточно.

Ответы на вопрос(0)

Ваш ответ на вопрос