Wix:更改安装文件夹树

发布于 2024-08-26 04:18:02 字数 236 浏览 5 评论 0原文

我有一组文件夹要为不同的用户以不同的布局安装。例如:

User1:
    AppFolder
        Dir1
        Dir2
           Dir3

  User2:
     AppFolder
         Bin
           Dir1
           Dir2
         Lib
           Dir3

这怎么可能?

I've a set of folder to be installed in different layouts for different users. For examle:

User1:
    AppFolder
        Dir1
        Dir2
           Dir3

  User2:
     AppFolder
         Bin
           Dir1
           Dir2
         Lib
           Dir3

How it's possible?

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

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

发布评论

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

评论(1

朮生 2024-09-02 04:18:02

问题中没有太多细节,所以我不得不猜测一下。您可以像对待属性一样对待目录。所以,你可以这样做:

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder" Name="PFiles">
  <Directory Id="AppFolder" Name="PFiles">
    <Directory Id="BinFolder" Name="Bin">
       <Directory Id="Dir1" Name="Dir1" />
       <Directory Id="Dir2" Name="Dir2" />
    </Directory>
    <Directory Id="LibFolder" Name="Lib">
       <Directory Id="Dir3" Name="Dir3" />
    </Directory>
  </Directory>
  </Directory>
</Directory>

<SetProperty Id="BinFolder" Value="[AppFolder]" After="CostFinalize">HOW_EVER_USER2_DETECTED</SetProperty>
<SetProperty Id="LibFolder" Value="[Dir2]" After="CostFinalize">HOW_EVER_USER2_DETECTED</SetProperty>

这可能不完全正确,但它会让你接近。如果属性机制不能完美工作,您还可以考虑使用 CustomAction 元素,该元素使用 Directory 和 Value 属性进行重定向。

另外,就像其他人提到的那样。这很奇怪。我建议从产品中删除该要求。 ;)

Not a lot of detail in the question, so I'll have to guess a bit. You can treat Directories a lot like Properties. So, you could do something like:

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder" Name="PFiles">
  <Directory Id="AppFolder" Name="PFiles">
    <Directory Id="BinFolder" Name="Bin">
       <Directory Id="Dir1" Name="Dir1" />
       <Directory Id="Dir2" Name="Dir2" />
    </Directory>
    <Directory Id="LibFolder" Name="Lib">
       <Directory Id="Dir3" Name="Dir3" />
    </Directory>
  </Directory>
  </Directory>
</Directory>

<SetProperty Id="BinFolder" Value="[AppFolder]" After="CostFinalize">HOW_EVER_USER2_DETECTED</SetProperty>
<SetProperty Id="LibFolder" Value="[Dir2]" After="CostFinalize">HOW_EVER_USER2_DETECTED</SetProperty>

That may not be exactly correct but it'll get you close. You might also look at using a CustomAction element that uses the Directory and Value attributes to redirect if the Property mechanism doesn't work perfectly.

Also, like others have mentioned. This is weird. I'd suggest removing the requirement from the product. ;)

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