我有和这里一样的问题。我有一个
我尝试了几件事情: 我尝试的第一件事:
但是这种方法失败了,因为它试图在应用程序安装之前复制文件,所以我的目录仍然不存在。
我尝试的第二件事:
将其添加为安装程序的另一个组件。
通过这种方法,我应该能够从安装程序的
第三件事我尝试过:
我尝试将
.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>
但是这种方法失败了,因为它试图在应用程序安装之前复制文件,所以我的目录仍然不存在。
我尝试的第二件事:
将其添加为安装程序的另一个组件。
<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
上构建项目时,它找不到文件...第三件事我尝试过:
我尝试将
SOURCEDIR
变量更改为自己的变量,以便我可以将其用作常规组件,执行this。 但是它不允许我更改变量名称。 尝试更改时会显示以下消息:
heat.exe : error HEAT0319 : The '-out' or '-o' parameter must specify a file path.
所以,我只想从我的.msi
所在位置复制一个文件,但我仍然无法做到...有任何想法吗?
MoveFile
表可以将任何文件复制到任何位置。我们使用 WiX 工具集中的CopyFile
元素来包装这两个表。 - Rob Mensching