【问题标题】:Wix CopyFile only on target machineWix CopyFile 仅在目标机器上
【发布时间】:2010-03-10 17:34:02
【问题描述】:

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

我已经尝试了一两天,但遇到了困难,有人可以帮忙吗?

谢谢,

B

【问题讨论】:

    标签: wix wix3


    【解决方案1】:

    尝试以下方法:

    <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】:

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

      <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>
      

      然后使用自定义Action来设置文件名

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

      然后按照上一个答案的描述复制文件...

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多