如何创建具有多个文件目标路径的EXE文件安装程序
本文关键字:文件 目标路径 EXE 程序 安装 何创建 创建 | 更新日期: 2023-09-27 18:27:12
我有一个小需求。我必须创建一个安装程序,它将部署(粘贴嵌入的txt和配置文件)文件到不同的位置
情况
- 在安装开始时,它应该询问主安装路径。或者应该提供从某些Autorun或Ini文件中选择该路径的设置
- 所选路径将具有不同的目标文件夹。安装实用程序应将文件部署到其目标文件夹。例如,file1应该转到''File_Conf文件夹。。。文件2应转到''business_Rules文件夹
我发现了一个有趣的工具WIX。我仍在深入研究它的细节。有人做过同样的要求吗?任何提示都可以。根据我的理解,我们不能在VS安装项目中嵌入自定义脚本。InstallSheild对它很好,但它是有许可证的。
我认为你可以保留所有的文件&配置文件在应用程序目录中的一个临时目录中,您可以添加自定义操作安装程序,通过该安装程序,您可以根据config/ini文件将文件从临时目录移动到所需目录。在安装结束时,您可以删除临时目录。我希望这能成为解决方案。可能还有其他一些优化的方法。我没有时间用代码解释。
您可以通过定义不同的目录,然后在"组件列表"中引用它们来实现这一点。您可能需要提供一个GUI,用户可以在其中为单独的组件定义他/她的INSTALLFOLDER(在本例中为DOCUMENTS)。
如果你需要更多信息,请告诉我。
<Directory Id="ProgramFilesFolder">
<Directory Id="FirstSubFolder" Name="First Sub Folder">
<Directory Id="SecondSubFolder" Name="Second Sub Folder">
<Directory Id="DOCUMENTATIONFOLDER" Name="Documentation" ComponentGuidGenerationSeed="a9f690d3-22b3-488f-bdac-bb665c25933c"/>
</Directory>
</Directory>
</Directory>
在我的例子中,我们创建了单独的.wxs文件(由heat创建)。组件和文件元素不如结构(目录<组件<文件)重要。
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<DirectoryRef Id="DOCUMENTATIONFOLDER">
<Component Id="File.pdf" Guid="*">
<File Id="File.pdf" KeyPath="yes" Source="$(var.gatheredDocumentation)'File.pdf" />
</Component>
</DirectoryRef>
</Fragment>
<Fragment>
<ComponentGroup Id="DocumentationComponents">
<ComponentRef Id="File.pdf" />
</ComponentGroup>
</Fragment>
</Wix>