I'm missing something obvious. How do you put the .dll's in a subdirectory called "bin" under your install directory? I'm trying to follow this tutorial: http://www.tramontana.co.hu/wix/lesson5.php#5.3 to deploy a WCF web service. So I need to copy the .svc files and the .bin files, along with a few other, but starting with just these two. I'm using Wix 3.5 under Visual Studio.
<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>
I tried putting \bin on the ID and the name attribute, and it didn't like either (invalid character).
Also, with IIS, is the best practice to install in c:\program files, or in c:\inetpub\wwwroot? How to I switch the default directory to c:\inetpub\wwwroot\myproj?
These are my various first experiments with WiX.
Make a subdirectory in your WWW root dir that can be accessed by the user that your webserver runs under with the name that you want to put after your domain (ex: www.mysite.com/thisisthedirnameyouuse/afile.html ), and put the files in there. Ryan J means 'make a new folder' when he says 'subdirectory'.
In a computer file system, a subdirectory is a directory that is contained another directory, called a parent directory. A parent directory may have multiple subdirectories.
Each tag creates a new directory. For each nested tag, there's a new directory. So, if you want to have a "bin" under INSTALLLOCATION, use like below.
<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>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With