Значок для ярлыка
Не могли бы вы сказать мне, что не так с моим кодом?
<?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 требует того же расширения для файла значка файла и моего файла (ярлык на рабочем столе)
Спасибо за ваше внимание:)