如何将现有文件复制到WiX的MyDocuments目录中?

时间:2019-06-03 18:55:35

标签: wix

TL:DR

如何告诉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>

0 个答案:

没有答案