31

私のプロジェクトには簡単なソリューションがあり、うまく機能します。しかし、ソースパスを相対的にする方法を理解できません。誰か助けてくれませんか?

  <Component Id="Bla.exe" Guid="*">
    <File Id="Bla.exe" Source="D:\Projects\Bla\Bla\bin\Debug\Bla.exe" KeyPath="yes" Checksum="yes"/>
  </Component>

Wix ソリューションに関連するパスを作成するにはどうすればよいですか? WiX とすべての必要なファイルは同じソリューションにあります。

4

2 に答える 2

68

次のように相対パスを使用できます。

    <File Id="Bla.exe" Source="..\bin\Debug\Bla.exe" KeyPath="yes" Checksum="yes"/>

また

プロジェクトに構成ファイルを追加して、共通変数を定義できます。これを行うには、プロジェクトに新しい「WiX インクルード」ファイルを追加し、config.wxiという名前を付けます。次に、インクルード ファイルで、次のようにSourceDir変数を定義できます。

<?xml version="1.0" encoding="utf-8"?>
<Include>
  <?define SourceDir = "D:\Projects\Bla\Bla\bin\Debug" ?>
</Include>

これで、.wxs ファイルの先頭に構成ファイルへの参照を追加できます。例:

<?xml version="1.0" encoding="UTF-8"?>
 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
 <?include "config.wxi"?>

次に、次のようにSourceDir変数を参照します。

<File Id="Bla.exe" Source="$(var.SourceDir)\Bla.exe" KeyPath="yes" Checksum="yes"/>

また、使用できる組み込みのWiX プロジェクト変数がいくつかあります。

于 2012-10-19T11:55:42.637 に答える