【发布时间】:2017-04-07 15:26:50
【问题描述】:
我正在制作一个 msi,它将 2 个插件安装到用户的 Roaming 文件夹和一个文件夹(+ 其内容)到机器上的特定位置:C:\UMI\temp。对于 2 个插件,一切都很好。我有问题的文件夹。首先,我需要测试该位置是否存在,然后将内容移动到该位置。
按照我的设置方式,我使用 Heat.exe 来获取合并模块中文件夹的内容。然后在我的 WIX 项目文件中引用合并模块。
这是有问题的合并模块的内容:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Module Id="TempFilesMM" Language="1033" Version="1.0.0.0">
<Package Id="9f5b21ce-db22-40aa-a2f6-f82ed89958a5" Manufacturer="Some Company" InstallerVersion="200" InstallScope="perMachine"/>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="MergeRedirectFolder">
<Directory Id="INSTALLLOCATION" Name="HarvestSetup">
<Directory Id="TempFilesComponentGroup">
</Directory>
</Directory>
</Directory>
</Directory>
<ComponentGroupRef Id ="TempFilesComponentGroup"/>
</Module>
</Wix>
知道TempFilesComponentGroup 是对收获的.wxs 文件的引用,我想INSTALLLOCATION 是在安装过程中复制内容的目录。事实上,在安装时,它会在C:\ 目录的根目录上创建一个名为 HarvestSetup 的文件夹。我希望它安装在C:\UMI\temp 中,没有名为HarvestSetup 的文件夹,并且还预先测试该位置是否存在。有什么建议吗?
非常感谢!
【问题讨论】:
标签: visual-studio wix windows-installer merge-module