3

ここと同じ問題があります。ソース ディレクトリ (ファイルがある場所) からインストール ディレクトリ.configにコピーしたいファイルがあります。.msi

私はいくつかのことを試しました:

私が試した最初のこと:

<DirectoryRef Id="ProgramFilesFolder">
  <Component Id="$(var.productFamily)$(var.productSummary).config" Guid="$(var.GUID_CMP_DemoConfig)" KeyPath="yes">
    <CopyFile Id="$(var.productFamily)$(var.productSummary).config"
          SourceName="$(var.productFamily)$(var.productSummary).exe.config"
          SourceProperty="SOURCEDIR"
          DestinationDirectory="$(var.productFamily)$(var.productType)"
          DestinationName="$(var.productFamily)$(var.productSummary).exe.config"
           >
    </CopyFile>
  </Component>
</DirectoryRef>

しかし、アプリケーションがインストールされる前にファイルをコピーしようとしているため、この方法は失敗したため、私のディレクトリはまだ存在しません。

私が試した2番目のこと:

インストーラーの別のコンポーネントとして追加します。

      <Component Id="$(var.productFamily)$(var.productSummary).config" Guid="$(var.GUID_CMP_DemoConfig)">
        <File Id="$(var.productFamily)$(var.productSummary).config"
              Name="$(var.productFamily)$(var.productSummary).exe.config"
              DiskId="1" KeyPath="yes"
              Source="$(var.productFamily)$(var.productSummary).exe.config" >
        </File>
      </Component>

Releaseこれを使用すると、インストーラーのフォルダーから にコピーできるはずですがINSTALLDIR、 でプロジェクトをビルドするとVS 2010、ファイルが見つかりません...

私が試した3番目のこと:

SOURCEDIRvar を自分の変数に変更しようとしたので、これを通常のコンポーネントとして使用できました。しかし、変数名を変更することはできません。変更しようとすると、次のように表示されます。

heat.exe : error HEAT0319 : The '-out' or '-o' parameter must specify a file path.

したがって、自分の場所からファイルをコピーしたいだけですが、.msiそれでもできませんでした...

何か案は?

4

1 に答える 1