Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Binary WiX-如何创建bin子目录?_Binary_Wix_Wix3 - Fatal编程技术网

Binary WiX-如何创建bin子目录?

Binary WiX-如何创建bin子目录?,binary,wix,wix3,Binary,Wix,Wix3,我错过了一些明显的东西。如何将.dll放在安装目录下名为“bin”的子目录中?我将尝试遵循本教程: 部署WCF web服务。因此,我需要复制.svc文件和.bin文件,以及其他一些文件,但仅从这两个文件开始。我在VisualStudio下使用WIX3.5 <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Di

我错过了一些明显的东西。如何将.dll放在安装目录下名为“bin”的子目录中?我将尝试遵循本教程: 部署WCF web服务。因此,我需要复制.svc文件和.bin文件,以及其他一些文件,但仅从这两个文件开始。我在VisualStudio下使用WIX3.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>

我尝试在ID和name属性上放置\bin,但两者都不喜欢(无效字符)

另外,对于IIS,在c:\program文件或c:\inetpub\wwwroot中安装的最佳实践是什么?如何将默认目录切换到c:\inetpub\wwwroot\myproj


这是我第一次用WiX做的各种实验

每个标记创建一个新目录。对于每个嵌套标记,都有一个新目录。因此,如果您想在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>


谢谢,这很有道理!我没有考虑嵌套元素。另外,如果你想有一个空目录,你也可以使用,你可以通过添加一个子元素来别名具有备用Id的目录。如果您在
DirectoryRef
元素下编写可重用wix组件,这将非常有用,因为您还不知道应用程序要在哪个文件夹中安装该组件。这不起作用。表示ProductComponent是孤立的。为什么人们投票支持这个?