2010-05-21 9 views
13

Pourriez-vous me dire, quel est le problème avec mon code s'il vous plaît?Icône pour raccourci

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

Je reçois cette erreur et les avertissements:

The extension of Icon 'ikonka' for Shortcut 'DesktopShortcut' is not "exe" or "ico". The Icon will not be displayed correctly.*

Pourquoi? Je donne le fichier ICO.

The extension of Icon 'ikonka' for Shortcut 'DesktopShortcut' does not match the extension of the Key File for component 'ProductComponent'.

Avez-vous des idées?

Répondre

15

Vous semblez manquer un élément Icon .. par ex.

<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

Quand j'ajouter élément icône ci-dessus i get suivantes erreur. "L'élément ComponentGroup contient un élément enfant inattendu" Icon "." –

+0

@MARKANDBhatt Il va sous l'élément Product. – JWiley

-1

I tag mis sur le haut de ma liste :) J'utilise l'icône du fichier exe. Wix exige la même extension pour le fichier icône du fichier et mon fichier (raccourci sur le bureau)

Merci pour votre attension :)

11

Vous devez avoir une extension de votre identifiant d'icône de « .exe » ou « Ico » .

Icône Id = "ikonka * Ico *" SourceFile = "Files \ AdministKOB.exe"/

+3

C'est une exigence très stupide de la part de WiX. C'est mon deuxième jour en essayant de résoudre le même problème. Merci pour la solution. –

0

En outre, la propriété de l'icône du raccourci peut prendre un chemin direct vers un fichier exe ou ico, mais , il ne peut pas y avoir des espaces dans le nom de fichier ou il va erreur:

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 
0

Après a travaillé pour moi. Le milage peut varier.

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

Il est facile:

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