Значок для ярлыка

Не могли бы вы сказать мне, что не так с моим кодом?

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xse="http://schemas.microsoft.com/wix/2005/XmlSchemaExtension" xmlns:html="http://www.w3.org/1999/xhtml">
    <Product Id="c1ee1e1f-4e2a-41c6-a716-eb6f79477012" Name="AdministKOB" Language="1033" Version="1.0.0.0" Manufacturer="Project UP" UpgradeCode="909b9926-711d-4a97-887b-df0bafc6ea66">
        <Package InstallerVersion="200" Compressed="yes" />
        <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" />

      <Icon Id="ikonka" SourceFile="Files\AdministKOB.exe"/>

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

          <Directory Id="ProgramFilesFolder">
                <Directory Id="INSTALLLOCATION" Name="Administ_KOB">
                    <Component Id="ProductComponent" Guid="6bd37582-5219-4ae4-a56e-cd1ecd375efa">
                      <File Id="AdministKOB" Name="AdministKOB.exe" Source="Files\AdministKOB.exe" KeyPath="yes">
                        <Shortcut Advertise="yes"
                                      Id="DesktopShortcut"
                                      Directory="DesktopFolder"
                                      Name="AdministKOB"
                                      WorkingDirectory="INSTALLDIR"
                                      Description="Elektroniczna ksiazka budynku"
                                      Icon ="ikonka">
                        </Shortcut>
                      </File>
                      <!--<File Id="ikonka" Name="C.ico" DiskId="1"  Source="City.ico" Vital="yes" />-->
                    </Component>
                </Directory>
            </Directory>
        </Directory>

        <Feature Id="ProductFeature" Title="AdministKOB" Level="1">
            <ComponentRef Id="ProductComponent" />
        </Feature>
        <Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION" />
    </Product>
</Wix>

Я получаю эту ошибку и предупреждения:

Расширение значка "ikonka" для ярлыка "DesktopShortcut" не является "exe" или "ico". Значок не будет отображаться правильно. *

Почему? Я предоставляю ICO файл.

Расширение значка "ikonka" для ярлыка "DesktopShortcut" не соответствует расширению файла ключей для компонента "ProductComponent".

Есть ли у вас идеи?

Ответы

Ответ 1

Кажется, что отсутствует элемент Icon. Например,

    <Icon Id="City.ico" SourceFile="City.ico" />
    <Component ...>
        <File ...>
            <Shortcut Advertise="yes"
                Id="DesktopShortcut"
                Directory="DesktopFolder"
                Name="AdministKOB"
                WorkingDirectory="INSTALLDIR"
                Description="Elektroniczna książka budynku"
                Icon ="City.ico" />
        </File>
    </Component>

Ответ 2

У вас должно быть расширение вашего идентификатора значка ".exe" или ".ico".

Значок Id = "ikonka *.ico *" SourceFile = "Files\AdministKOB.exe" /

Ответ 3

Это легко:

<Shortcut Directory="DesktopFolder" Id="DesktopShortcut" Name="YourApp" Description="DescriptionOfYourApp" Target="http://localhost/" Icon="YourAppIcon">
      <Icon Id="YourAppIcon" SourceFile="$(var.BinDir)\favicon.ico" />
</Shortcut>

Ответ 4

Кроме того, свойство значка ярлыка может принимать прямой путь к exe или ico файлу, однако в имени файла не может быть пробелов или будет ошибка:

The Shortcut/@Icon attribute value, '"C:\Users\yadayadayada\Data Migration.exe', is not a 
legal identifier.  Identifiers may contain ASCII characters A-Z, a-z, digits, underscores 
(_), or periods (.).  Every identifier must begin with either a letter or an underscore.    
SetupProject    C:\Users\yadayadayada\SetupProject\Product.wxs  53

Ответ 5

После меня работали. Милирование может меняться.

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<Icon Id="dbwizard.ico" SourceFile="dbwizard.ico" />
<ComponentGroup Id="DBWizardComponentGroup" Directory="INSTALLFOLDER">
  <Component Id="FakeDBWizard_exe" Guid="{2008318F-8628-411E-B1B9-BC92989BCD19}">
    <File Id="FakeDBWizard_exe"
          Name="FakeDBWizard_exe"
          Source="database\FakeDBWizard.exe"
          KeyPath="yes">
      <Shortcut Id="DBWizardShortcut"
                Directory="Otter32ShortcutDir"
                Name="Otter Database Wizards"
                Description="Database Wizards for ABCSystem32"
                WorkingDirectory="INSTALLFOLDER"
                Advertise="yes"
                Icon="dbwizard.ico" />

Ответ 6

Я поставил тег в верхней части моего списка:) Я использую значок из файла exe. Wix требует того же расширения для файла значка файла и моего файла (ярлык на рабочем столе)

Спасибо за ваше внимание:)