WiX - 如何创建bin子目录?

Nea*_*ers 10 binary wix wix3

我错过了一些明显的东西.你如何将.dll放在安装目录下名为"bin"的子目录中?我正在尝试按照本教程:http: //www.tramontana.co.hu/wix/lesson5.php#5.3 来部署WCF Web服务.所以我需要复制.svc文件和.bin文件,以及其他一些文件,但从这两个文件开始.我在Visual Studio下使用Wix 3.5.

    <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>
Run Code Online (Sandbox Code Playgroud)

我尝试将\ bin放在ID和name属性上,它也不喜欢(无效字符).

另外,使用IIS,是在c:\ program files或c:\ inetpub\wwwroot中安装的最佳实践?如何将默认目录切换到c:\ inetpub\wwwroot\myproj?

这些是我用WiX进行的各种首次实验.

Fre*_*ner 9

每个标记都会创建一个新目录.对于每个嵌套标记,都有一个新目录.所以,如果你想在INSTALLLOCATION下有一个"bin",请使用如下所示.

<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>
Run Code Online (Sandbox Code Playgroud)

  • 这没用.说ProductComponent是孤儿.为什么人们投票呢? (2认同)