2010-01-12 14 views
10

Mi manca qualcosa di ovvio. Come si inserisce il file .dll in una sottodirectory chiamata "bin" nella directory di installazione? Sto cercando di seguire questo tutorial: http://www.tramontana.co.hu/wix/lesson5.php#5.3 per distribuire un servizio Web WCF. Quindi ho bisogno di copiare i file .svc e .bin, insieme a pochi altri, ma a partire da questi due. Sto usando Wix 3.5 in Visual Studio.WiX - come creare la sottodirectory bin?

<Directory Id="TARGETDIR" Name="SourceDir"> 
     <Directory Id="ProgramFilesFolder"> 
      <Directory Id="INSTALLLOCATION" Name="TFBIC.RCT.WCFWebServicesWIXSetup"> 
       <Component Id="ProductComponent" Guid="E9A375FB-DF6A-4806-8B0B-03BE4A50802F"> 
        <File Id='SVC1' Name='CreateUpdateReturnService.svc' DiskId='1' Source='../TFBIC.RCT.WCFWebServices/CreateUpdateReturnService.svc' /> 
       </Component> 
      </Directory> 
      <Directory Id="INSTALLLOCATION" Name="TFBIC.RCT.WCFWebServicesWIXSetup"> 
       <Component Id="ProductComponent" Guid="E9A375FB-DF6A-4806-8B0B-03BE4A50802F"> 
        <File Id='DLL1' Name='TFBIC.RCT.WCFWebServices.dll' DiskId='1' Source='../TFBIC.RCT.WCFWebServices/bin/TFBIC.RCT.WCFWebServices.dll' /> 
       </Component> 
      </Directory> 
     </Directory> 
     <Component Id='TestWebVirtualDirComponent' Guid='9586807E-9065-48e8-8E73-13A9191962E5'> 
      <iis:WebVirtualDir Id='TestWebVirtualDir' Alias='Test' Directory='InstallDir' 
       WebSite='DefaultWebSite'> 
       <iis:WebApplication Id='TestWebApplication' Name='Test' /> 
      </iis:WebVirtualDir> 
     </Component> 

    </Directory> 

Ho provato a mettere \ bin sul ID e l'attributo name, e non piaceva né (carattere non valido).

Inoltre, con IIS, è la procedura migliore da installare nei file c: \ program o in c: \ inetpub \ wwwroot? Come posso cambiare la directory predefinita in c: \ inetpub \ wwwroot \ myproj?

Questi sono i miei vari primi esperimenti con WiX.

risposta

9

Ogni tag crea una nuova directory. Per ogni tag annidato, c'è una nuova directory. Quindi, se si desidera avere un "cestino" sotto INSTALLLOCATION, utilizzare come di seguito.

<Directory Id="INSTALLLOCATION" Name="TFBIC.RCT.WCFWebServicesWIXSetup"> 
    <Directory Id="BinFolder" Name="bin"> 
     <Component Id="ProductComponent" Guid="E9A375FB-DF6A-4806-8B0B-03BE4A50802F"> 
      <File Id='SVC1' Name='CreateUpdateReturnService.svc' DiskId='1' Source='../TFBIC.RCT.WCFWebServices/CreateUpdateReturnService.svc' /> 
     </Component> 
    </Directory> 
</Directory> 
+0

Grazie, ha perfettamente senso! Non stavo pensando di nidificare gli elementi . – NealWalters

+0

Inoltre, se si desidera avere una directory vuota, è possibile utilizzare

+1

Inoltre, è possibile creare alias directory con Id alternativo aggiungendo un elemento figlio. Ciò è utile se si stanno creando componenti wix riutilizzabili sotto un elemento 'DirectoryRef', poiché non si può ancora sapere in quale cartella le applicazioni vogliono installare quel componente. –

Problemi correlati