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
WiX中目录内的DirectoryRef_Wix - Fatal编程技术网

WiX中目录内的DirectoryRef

WiX中目录内的DirectoryRef,wix,Wix,假设我有一个名为MyLib.wixproj的WiX安装库项目,其中有两个文件与不同的安装程序共享。本项目具有以下(简化)结构: MyLib.wxs: <Wix> <Fragment> <Feature Id="MySharedFeature" ...> <ComponentGroupRef Id="MySharedCompGroup" /> </Feature> <ComponentGr

假设我有一个名为MyLib.wixproj的WiX安装库项目,其中有两个文件与不同的安装程序共享。本项目具有以下(简化)结构:

MyLib.wxs:

<Wix>
  <Fragment>

    <Feature Id="MySharedFeature" ...>
      <ComponentGroupRef Id="MySharedCompGroup" />
    </Feature>

    <ComponentGroup Id="MySharedCompGroup" Directory="Directory_SharedFiles">
      <Component Id="SharedCompA" Guid="*">
        <File Id="SharedFileA Source="$(var.Source)fileA.txt" KeyPath="yes" />
      </Component>
      <Component Id="SharedCompB" Guid="*">
        <File Id="SharedFileB Source="$(var.Source)fileB.txt" KeyPath="yes" />
      </Component>
    </ComponentGroup>

    <Directory Id="Directory_SharedFiles" Name="SharedFiles" />

  </Fragment>
</Wix>
<Wix>
  <Product>

    <FeatureRef Id="MySharedFeature" />

  </Product>
</Wix>
<Wix>
  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder">
        <Directory Id="INSTALLDIR" Name="MyApp">

          <!-- Here I want to add a reference to Directory_SharedFiles. -->

          <Directory Id="OtherFilesNotShared" Name="MoreFiles">
          </Directory>

        <Directory>
      </Directory> 
    </Directory>
  </Fragment>
<Wix>
<!-- This code does not compile! -->
<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="Directory_SharedFiles" Name="SharedFiles" />
</Directory>

</Fragment></Wix>

有办法吗?

不要将
DirectoryRef
元素嵌套在
目录
元素下。将其直接放在
片段
元素下面。阅读更多关于


在共享WiX片段中构建目录结构,而不是在每个产品中单独构建。

我将目录结构移动到MyLib.wxs,如问题末尾所示,但它不起作用。您能提供一个实际的代码片段来解决这个问题吗?在您的代码中,不清楚目标计算机上的目录\u SharedFile位于何处。共享文件位于哪里?如果在程序文件中,则需要将其嵌套在程序文件下。