asp.net - 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 有什么想法吗?提前致谢!
解决方案
我将依赖延迟的 CustomAction 调用命令行“复制”命令,而不是使用 CopyFile 并执行它,就像在这个 SO question中一样。
如果要将文件写入受保护的文件夹或需要管理访问权限的文件夹(在 Windows Vista+ 上,%USER% 文件夹之外的任何内容),则需要管理员权限。
推荐阅读
- php - MySQL / MariaDB 不接受 JSON 格式?无法创建数据库
- django - 使用多个数据库进行 Django 身份验证
- json - 从 localhost:8080/api/spec JSON 获取 IntelliJ 以根据 CoreAPI Spec 自动完成
- reactjs - 找不到如何在 React 中导入 svg 图标库
- sql - 将关系表扁平化为单个扁平表
- c# - System.ObjectDisposedException:无法访问已处置的对象。- 如何检查应用程序是否在 Xamarin 中运行?
- visual-c++ - 在 NVRAM 中保留自定义数据
- nlg - 自然语言生成 (NLG) 来描述财务资产负债表
- php - 如何从SMARTY中的变量中删除第一个单词
- mysql - 订购事件数据