我有一个复制一些文件的 WiX 安装程序(比如 10.0)。文件副本的所有内容都可以正常工作。我正在尝试从该版本创建补丁。每当运行补丁 (10.1) 并且之前的 10.0 安装必须复制其中一些文件时,我在运行repair:
“指定的路径[Path]不可用。”
我已经检查过了,指定的路径可用。复制到的文件在那里。此外,在 10.0 安装中从中复制文件的源数据目录也在那里。还有其他目录可以复制其他文件。我不确定他们是否也会有错误,而且我还没有看到它。
可能出了什么问题?
这是我的 .wxs 代码,在原始安装和补丁中都是相同的:
<DirectoryRef Id="SAVEDDBFOLDER">
<Component Id="SavedDBVDirectory" Guid="xxx">
<CreateFolder>
<Permission User ="[WIX_ACCOUNT_ADMINISTRATORS]" GenericAll="yes"/>
<Permission User ="[WIX_ACCOUNT_USERS]" GenericAll="yes"/>
</CreateFolder>
</Component>
</DirectoryRef>
<CustomAction Id="SetOldDBVWFiles"
Property="OLDDBVWFILES"
Value="[PATHTOOLDVER]Saved DB Files"/>
<DirectoryRef Id="SAVEDDBFOLDER">
<Component Id="CopyOldDataBVFiles" Guid="yyy">
<CopyFile Id="CopyOldDBVWFiles"
Delete="yes"
SourceProperty="OLDDBVWFILES" DestinationProperty="SAVEDDBFOLDER" SourceName="*"/>
<Condition>
<![CDATA[(NOT Installed) AND (NOT REMOVE) AND (PREVIOUSVERSION << "8." OR PREVIOUSVERSION << "7.")]]>
</Condition>
</Component>
</DirectoryRef>
<!--This custom action runs in 10.0 install-->
<!--PREVIOUSHYVERSION is set for 10.0; it is not for 10.1-->
<CustomAction Id="SetOldDBVWFilesHy"
Property="OLDHYDBVWFILES"
Value="[PATHTOOLDAD]Saved DB Files"/>
<DirectoryRef Id="SAVEDDBFOLDER">
<Component Id="CopyOldHyDatabusViewerFiles" Guid="zzz">
<CopyFile Id="CopyOldHyDBVWFiles"
Delete="yes"
SourceProperty="OLDHYDBVWFILES" DestinationProperty="SAVEDDBFOLDER" SourceName="*"/>
<Condition>
<![CDATA[(NOT Installed) AND (NOT REMOVE) AND (PREVIOUSHYVERSION << "4.")]]>
</Condition>
</Component>
</DirectoryRef>