代码之家  ›  专栏  ›  技术社区  ›  Burt

仅在目标计算机上使用wix copyfile

  •  1
  • Burt  · 技术社区  · 14 年前

    我需要能够复制一个存在于目标计算机硬盘驱动器上的文件,基于保存文件夹路径的注册表设置。

    我已经试了一两天了,现在有困难,有人能帮忙吗?

    谢谢,

    2 回复  |  直到 12 年前
        1
  •  3
  •   Bryan Batchelder    14 年前

    试试下面的方法:

    <Component Id="MyComponent" Guid="E5FF53DE-1739-42c4-BE37-60F810C9CD69">  
     <Condition>MYTESTDIR</Condition>
     <CopyFile Id="fileToCopy.datCopy" SourceName="[MYTESTDIR]fileToCopy.dat" DestinationProperty="WEBSERVICEBINFOLDER" /> 
    </Component>
    

    您可以使用RegistrySearch从注册表中用一个值填充MyTestDir。

        2
  •  1
  •   Syed Ali    12 年前

    您可以首先在注册表中搜索文件,如下所示:

    <Property Id="PROPERTYNAME" Secure="yes">
      <RegistrySearch Id="SomeID"
              Root="HKLM"
              Type="raw"
              Key="SOFTWARE\SomeFolder\SomeSubFolder"
              Win64="yes"
              Name="InstallPath">
        <DirectorySearch Id="REQUIREDDIRECTORY" AssignToProperty="yes" Depth="1" Path="THEEXPECTEDPATH">
        </DirectorySearch>
      </RegistrySearch>
    </Property>
    

    然后使用自定义操作设置文件名

          <CustomAction Id="SETFILE"
          Property="FILE"
          Value="[PROPERTYNAME]file.extension" />
    

    然后按照前面的答案复制文件…

          <CopyFile Id="fileToCopy.datCopy" SourceName="[FILE]" DestinationProperty="[YOURDESTINATION]" />