快捷方式的图标

时间:2010-05-21 18:08:16

标签: wix install

你能告诉我,我的代码有什么问题吗?

<?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>

我收到此错误和警告:

  

用于快捷方式'DesktopShortcut'的Icon'ikonka'的扩展名不是“exe”或“ico”。图标将无法正确显示。*

为什么呢?我给ICO文件。

  

用于快捷方式'DesktopShortcut'的Icon'ikonka'扩展名与组件'ProductComponent'的密钥文件扩展名不匹配。

你有什么想法吗?

6 个答案:

答案 0 :(得分:15)

您似乎缺少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>

答案 1 :(得分:12)

您的图标ID必须为“.exe”或“.ico”。

Icon Id =“ikonka * .ico *”SourceFile =“Files \ AdministKOB.exe”/

答案 2 :(得分:2)

很容易:

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

答案 3 :(得分:0)

此外,快捷方式的图标属性可以直接指向exe或ico文件,但是,文件名中不能有任何空格,否则会出错:

The Shortcut/@Icon attribute's 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

答案 4 :(得分:0)

以下为我工作。 Milage可能会有所不同。

<?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" />

答案 5 :(得分:-1)

我把标签放在我的列表顶部:) 我使用exe文件中的图标。 Wix对文件图标文件和我的文件(桌面上的快捷方式)需要相同的扩展名

感谢您的参与:)