首页 > 解决方案 > 如何将现有文件复制到 WiX 中的 MyDocuments 目录?

问题描述

TL:博士

如何告诉 WiX 将文件从安装程序复制到用户MyDocuments文件夹中的指定目录?

我正在尝试使用 WiX 编写一个基本的安装程序。我已经弄清楚如何引用项目和可执行文件,但我希望安装程序将一些文件写入安装程序的用户的 MyDocuments 目录。

为什么不是 AppData?因为大多数用户不知道如何访问 AppData 目录,并且程序应该允许相对容易地访问相关文件,以便他们可以根据需要添加或删除文件,无论好坏。

此外,如果用户决定删除这些文件,我希望程序在后续运行时不要对它们大喊大叫,因为程序有内部检查以确保文件在引用它们之前存在,如果它们不存在,则引用他们在内部。

我需要在以下 WiX 脚本中添加什么来告诉它“将 MySetupInstallerDocument.txt 放入 MyDocuments/MySetupProject/MySetupProjectFiles”,其中 MySetupInstallerDocument.txt 与 .wxs 文件位于同一文件夹中?

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Product
        Id="*" Name="MySetupInstaller" Language="1033" Version="1.0.0.0" Manufacturer=""
        UpgradeCode="07a36861-41cf-40e4-a1b6-eb970bc305ff">
        <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />

        <MajorUpgrade
            DowngradeErrorMessage="Bla bla bla" />
        <MediaTemplate />

        <Feature Id="ProductFeature" Title="MySetupInstaller" Level="1">
            <ComponentGroupRef Id="ProductComponents" />
        </Feature>
    </Product>

    <Fragment>
        <Directory Id="TARGETDIR" Name="SourceDir">
            <Directory Id="ProgramFilesFolder">
                <Directory Id="INSTALLFOLDER" Name="MySetupInstaller" />
            </Directory>
        </Directory>
    </Fragment>

    <Fragment>
        <ComponentGroup Id="ProductComponents" Directory="INSTALLFOLDER">
            <Component Id="ProductComponent">
                <File Source="$(var.MySetupProject.TargetPath)" />
            </Component>
        </ComponentGroup>
    </Fragment>
</Wix>

标签: wix

解决方案


推荐阅读