Wix CopyFile 仅在目标机器上

发布于 2024-08-25 08:44:59 字数 103 浏览 6 评论 0原文

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

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

谢谢,

B

I need to be able to copy a file that exists on the target machines hard-drive based on a registry setting that holds the folder path.

I have been trying to get this going for a day or two and am having difficulty, can anyone help?

Thanks,

B

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

调妓 2024-09-01 08:45:18

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

<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]" />

You can first search your registry for the file as follows:

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

Then use a Custom Action to set the file name

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

and then copy file as described by the previous answer...

      <CopyFile Id="fileToCopy.datCopy" SourceName="[FILE]" DestinationProperty="[YOURDESTINATION]" />
噩梦成真你也成魔 2024-09-01 08:45:17

尝试按照以下方式进行操作:

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

Try something along these lines:

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

You can populate MYTESTDIR with a value from the registry using a RegistrySearch.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文