Wix - 如何获得相对路径

时间:2016-06-05 20:26:14

标签: c# visual-studio wix wix3.5

我需要在我的wix项目中引用一些dll文件,我需要用户的相对路径。如果我使用像这样的绝对路径

C:\Users\MyUser\Documents\any\other\folder

它完美无缺,但我需要这样的相对路径:

../bin/dll

但无法找到该文件夹​​。

这是“ComponentGroup”部分,我需要获取dll文件夹

    <ComponentGroup Id="DllsComponent" Directory="INSTALLFOLDER" Source="../bin/dll">      
  <Component Id="EntityFramework.dll">
    <File Name="EntityFramework.dll" />
  </Component>
  <Component Id="EntityFramework.SqlServer.dll">
    <File Name="EntityFramework.SqlServer.dll" />
  </Component>
  <Component Id="EntityFramework.SqlServerd.xml">
    <File Name="EntityFramework.SqlServer.xml" />
  </Component>
  <Component Id="EntityFramework.xml">
    <File Name="EntityFramework.xml" />
  </Component>
  <Component Id="ParodosService.exe.config">
    <File Name="ParodosService.exe.config" />
  </Component>
</ComponentGroup>

和wix项目结构是这样的:

ParodosService.Setup
|_bin
   |_dll
      |_EntityFramework.dll
      |_EntityFramework.SqlServer.dll
      |_other files...
   |_Debug
   |_Release

提前致谢...

1 个答案:

答案 0 :(得分:0)

您可以使用列表中的预定义目录属性 System Folder Properties

在目录表中设置最接近的值,然后在源属性中使用它。

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="DesktopFolder">
  </Directory>
</Directory>

来源属性:

Source="$(var.DesktopFolder)../bin/dll