Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wix 如何仅在主要升级时复制文件?_Wix_Wix3.5 - Fatal编程技术网

Wix 如何仅在主要升级时复制文件?

Wix 如何仅在主要升级时复制文件?,wix,wix3.5,Wix,Wix3.5,我们只需要在升级时复制文件。如果发生新安装,则不应复制 我试图找到文件属性和组件属性,但没有找到 如何在主要升级时允许复制文件?您需要编写自定义操作来复制文件 <CustomAction Id="QtExecCopyPropertyFileCmd" Property="QtExec64CmdLine" Value="&quot;[SystemFolder]cmd.exe&quot; /c copy &quot;[INSTALL_DIR]\Test.txt&q

我们只需要在升级时复制文件。如果发生新安装,则不应复制

我试图找到文件属性和组件属性,但没有找到


如何在主要升级时允许复制文件?

您需要编写自定义操作来复制文件

<CustomAction Id="QtExecCopyPropertyFileCmd" Property="QtExec64CmdLine" Value="&quot;[SystemFolder]cmd.exe&quot; /c copy &quot;[INSTALL_DIR]\Test.txt&quot; &quot;[BKP_DIR]\Test.txt&quot;"/>
<CustomAction Id="QtExecCopyPropertyFile" BinaryKey="WixCA" DllEntry="CAQuietExec64" Execute="immediate" Return="check"/>

检查是否安装了以前的安装程序或未使用升级属性

<Upgrade Id="{YOUR-GUID-HERE}">
  <UpgradeVersion Property="PREVIOUSFOUND" Minimum="1.0.0" IncludeMinimum="yes" Maximum="$(var.Version)" IncludeMaximum="no" />
</Upgrade>
  <Property Id="PREVIOUSFOUND" Secure="yes" />

在安装执行序列中调用自定义操作。它将仅在升级中复制文件

 <Custom Action="QtExecCopyPropertyFileCmd" After="AppSearch">(NOT Installed) AND (PREVIOUSFOUND&lt;&gt;"")</Custom>
 <Custom Action="QtExecCopyPropertyFile" After="QtExecCopyPropertyFileCmd">(NOT Installed) AND (PREVIOUSFOUND&lt;&gt;"")</Custom>
(未安装)和(以前发现的“”)
(未安装)和(以前发现的“”)

您可以设置组件安装条件,检查现有产品,然后安装。您可以查看以下链接以了解更多详细信息。除了文件搜索,您还可以进行注册表搜索