首页 > 解决方案 > Wix 安装程序 CopyFile 移动文件不起作用

问题描述

我想将文件从一个目录移动到另一个目录,它什么也不做。

这是我的部分Product.wxs

<Feature Id="ProductFeature" Title="$(var.ProductName)" Level="1">
  <ComponentRef Id="testCopy"/>
</Feature>

<DirectoryRef Id="dirConfigs">
  <Component Id="web.config" Guid="8736259D-4FEE-4826-B109-76DD3B0EDAE7">
    <CopyFile Id="CopyWebConfig" 
              SourceProperty="dirProject"
              SourceName="Web.config"
              DestinationProperty="dirConfigs"
              DestinationName="Web.config"
              />
  </Component>
</DirectoryRef>

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="$(var.PlatformProgramFilesFolder)">
    <Directory Id="dirParent" Name="$(var.CustomerName)">
      <Directory Id="dirProject" Name="$(var.ProductName)">
        <Directory Id="dirConfigs" Name="$(var.ConfigFolderName)">
        </Directory>
      </Directory>
    </Directory>
  </Directory>
</Directory>

编辑 我也尝试使用 Source/DestinationDirectory 而不是 Source/DestinationProperty 有什么想法吗?提前致谢!

标签: asp.netwixwindows-installer

解决方案


我将依赖延迟的 CustomAction 调用命令行“复制”命令,而不是使用 CopyFile 并执行它,就像在这个 SO question中一样。

如果要将文件写入受保护的文件夹或需要管理访问权限的文件夹(在 Windows Vista+ 上,%USER% 文件夹之外的任何内容),则需要管理员权限。


推荐阅读