2010-01-12 22 views
10

Açık bir şey eksik. .dll dosyalarını yükleme dizininizin altındaki "bin" adlı bir alt dizine nasıl koyarsınız? Bir WCF web hizmeti dağıtmak için şu eğiticiyi takip etmeye çalışıyorum: http://www.tramontana.co.hu/wix/lesson5.php#5.3 . Bu yüzden .svc dosyalarını ve .bin dosyalarını birkaç tane ile birlikte kopyalamam gerekiyor, ama sadece bu ikisi ile başlıyor. Visual Studio'nun altında Wix 3.5 kullanıyorum. WiX - bin alt dizini nasıl oluşturulur?

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

ben kimliği ve adı özniteliği üzerinde \ bin koyarak denedim ve ya (geçersiz karakter) gibi değildi.

Ayrıca, IIS ile c: \ program dosyalarına veya c: \ inetpub \ wwwroot içine yüklemek için en iyi uygulama nedir? Varsayılan dizini c: \ inetpub \ wwwroot \ myproj olarak nasıl değiştirebilirim?

Bunlar, WiX ile yaptığım ilk deneylerim.

cevap

9

Her etiket yeni bir dizin oluşturur. Her iç içe geçmiş etiket için yeni bir dizin var. Yani, INSTALLLOCATION altında bir "bin" sahibi olmak istiyorsanız, aşağıdaki gibi kullanın.

<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

Teşekkürler, bu mükemmel bir fikir! öğelerini yerleştirmeyi düşünmüyordum. – NealWalters

+0

Ayrıca, boş bir dizine sahip olmak istiyorsanız

+1

kullanabilirsiniz. Ayrıca, dizinleri bir alt öğe. Bu, bir "DirectoryRef" öğesi altında yeniden kullanılabilir wix bileşenlerini yazarsanız, uygulamaların bu bileşeni yüklemek istediğiniz klasörde henüz bilmediğiniz için kullanışlıdır. –