2009-05-15 18 views

risposta

18

è necessario specificare la directory FontsFolder, e impostare l'attributo TrueType sul file:

<DirectoryRef Id="FontsFolder"> 
    <Component Id="MyFontsFonts" Guid="..."> 
    <File Id="font1.ttf" Source="font1.ttf" TrueType="yes" /> 
    <File Id="font2.ttf" Source="font2.ttf" TrueType="yes" /> 
    </Component> 
</DirectoryRef> 
+0

Come può dire WiX di ignorare l'installazione dei font, se sono esistono già sul sistema? – essamSALAH

+5

@essamSALAH: se si inserisce ciascun file in un componente separato, il file fungerà da keypath del componente. Un componente non verrà installato se il suo keypath è già presente. –

+4

Sembra che manchi qualcosa. Ecco l'errore che ho riscontrato quando ho provato questo: 'errore LGHT0094: riferimento non risolto al simbolo 'Directory: FontsFolder'', c'è qualcos'altro che mi manca? –

2

io non riuscivo a capire DirectoryRef -forse qualcosa è cambiato nel corso degli anni, ma ho un plopped Directory in la mia radice TARGETDIR e l'ho fatta funzionare. Nel mio caso, avevo bisogno di Arial Narrow Bold sul server:

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <!-- snip ... all my other stuff here --> 
    <Directory Id="FontsFolder"> 
    <Component Id="ComponentFontArialNarrowBold" Guid="{65F4712A-EAA6-4801-9200-212A3593D6E2}"> 
     <File Id="FileFontArialNarrowBold" Source="$(var.SolutionDir)Res\Fonts\ARIALNB.TTF" TrueType="yes" KeyPath="yes" /> 
    </Component> 
    </Directory> 
</Directory> 
1

Per installare i font è necessario impostare due parti nei vostri codici:

<Feature Id="ProductFeature" Title="WixSetup" Level="1"> 
     <ComponentGroupRef Id="ProductComponents" /> 
     <ComponentRef Id="ApplicationShortcut" /> 
     <ComponentRef Id="ApplicationShortcutDesktop" /> 
     <ComponentRef Id="MyFontsFonts" /> 
    </Feature> 
. 
. 
. 

<Directory Id="TARGETDIR" Name="SourceDir">     
. 
. 
. 
    <Directory Id="FontsFolder"> 
     <Component Id="MyFontsFonts" Guid="myGuid"> 
      <File Id="font1.ttf" Source="Fonts\font1.ttf" TrueType="yes" /> 
     </Component> 
    </Directory> 

</Directory> 
+0

Ha funzionato meraviglie per me, grazie! – RugerSR9

Problemi correlati