我需要将应用程序的文件安装到常用位置,例如 C:\Program Files\MyApp
并且还需要将其中几个复制到另一个分区的自定义文件夹中
(假设D:\CustomFolder
,允许对其进行硬编码)。
安装应该是静默的 - 没有 GUI 或向导。而且所有内容都应该位于一个 *.msi 文件中。
我可以通过 CustomActions 来做到这一点,但优雅的声明方式更好。
以前有人尝试过吗?
谢谢。
更新:
忘记提及,允许应位于单独分区上的文件位于 C:\Program Files\MyApp
最佳答案
已解决。做法是:
指定应放置文件的自定义文件夹:
<Property Id="MY_CUSTOM_DESTINATION" Value="D:\MyCustomFolder" />
输入
<Copy ..>
指令进入<File ...>
应该复制的内容
<DirectoryRef Id="MyAppFolderThatIsInProgramFiles"> <Component Id="MyComponent" Guid="some_guid"> <File Id="MyFileXml" Source="MyFile.xml" KeyPath="yes" > <CopyFile Id="Copy_MyFileXml" DestinationProperty="MY_CUSTOM_DESTINATION"/> </File> </Component> </DirectoryRef>
附:作为副作用,<File Id="MyFileXml" ... />
中指定的文件将被放入两个位置:C:\Program Files\MyApp
和D:\MyCustomFolder
,但这对于我的任务来说是正确的。
关于WIX:将文件复制到另一个分区中的自定义目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9902980/