ここと同じ問題があります。ソース ディレクトリ (ファイルがある場所) からインストール ディレクトリ.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番目のこと:
SOURCEDIR
var を自分の変数に変更しようとしたので、これを通常のコンポーネントとして使用できました。しかし、変数名を変更することはできません。変更しようとすると、次のように表示されます。
heat.exe : error HEAT0319 : The '-out' or '-o' parameter must specify a file path.
したがって、自分の場所からファイルをコピーしたいだけですが、.msi
それでもできませんでした...
何か案は?