如何创建具有多个文件目标路径的EXE文件安装程序

本文关键字:文件 目标路径 EXE 程序 安装 何创建 创建 | 更新日期: 2023-09-27 18:27:12

我有一个小需求。我必须创建一个安装程序,它将部署(粘贴嵌入的txt和配置文件)文件到不同的位置

情况

  1. 在安装开始时,它应该询问主安装路径。或者应该提供从某些Autorun或Ini文件中选择该路径的设置
  2. 所选路径将具有不同的目标文件夹。安装实用程序应将文件部署到其目标文件夹。例如,file1应该转到''File_Conf文件夹。。。文件2应转到''business_Rules文件夹

我发现了一个有趣的工具WIX。我仍在深入研究它的细节。有人做过同样的要求吗?任何提示都可以。根据我的理解,我们不能在VS安装项目中嵌入自定义脚本。InstallSheild对它很好,但它是有许可证的。

如何创建具有多个文件目标路径的EXE文件安装程序

我认为你可以保留所有的文件&配置文件在应用程序目录中的一个临时目录中,您可以添加自定义操作安装程序,通过该安装程序,您可以根据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>