首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Wix3.8安装程序在windows文件夹中创建文件夹

如何使用Wix3.8安装程序在windows文件夹中创建文件夹
EN

Stack Overflow用户
提问于 2014-06-04 14:38:58
回答 3查看 1.7K关注 0票数 1

我需要在常规安装文件夹(即c:\program \mycompany\myapp)中安装文件,但我也需要将文件复制到windows文件夹中的一个子文件夹中,即c:\windows\my文件夹。

虽然我对“安装”文件夹没有问题,但我不知道如何在c:\windows中创建子文件夹?

有什么想法吗?

谢谢。

蒂埃里

更新:

我可能应该更精确一点,并提供更多的信息。这是我拥有的xml:

代码语言:javascript
复制
<Fragment>
  <Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="ProgramFilesFolder">
      <Directory Id="INSTALLFOLDER" Name="MyCompany">
        <Directory Id="ClientFolder" Name="Client">
        </Directory>
        <Directory Id="ServerFolder" Name="Server">
        </Directory>
      </Directory>
    </Directory>
  </Directory>
  <Directory Id="WindowsFolder" Name="WindowsFolder">
    <Directory Id="MyFolder" Name="MyFolder"></Directory>
  </Directory>
</Fragment>

当我试图编译我的wix项目时,我会得到以下错误:

代码语言:javascript
复制
Error 1 : The Directory with Id 'WindowsFolder' is not a valid root directory.  
There may only be a single root directory per product or module and its Id attribute 
value must be 'TARGETDIR' and its Name attribute value must be 'SourceDir'

PS:我是新来的,我正在读一本关于如何使用Wix的书,但是我需要尽快的,所以请耐心地对待我:)。谢谢。

EN

回答 3

Stack Overflow用户

发布于 2014-06-04 14:51:18

您可以基于系统文件夹属性创建目录元素。特别是WindowsFolder性质。然后为文件夹创建子目录元素。

在这样做之前,您应该有非常充分的理由,因为这是一个操作系统领域。我通常会告诉开发人员,除非他们有一个非常非常好的理由。

票数 1
EN

Stack Overflow用户

发布于 2014-06-05 01:38:41

硬币掉了!!

需要将目录引用直接添加到

代码语言:javascript
复制
<Directory Id="TARGETDIR" Name="SourceDir">

还有你的其他目录。你最终会有这样的结果

代码语言:javascript
复制
  <Directory Id="ProgramFilesFolder">
    <Directory Id="INSTALLFOLDER" Name="MyApp">
      <Directory Id="ClientFolder" Name="Client"/>
    </Directory>
  </Directory>
  <Directory Id="WindowsFolder">
    <Directory Id="MyFolder" Name="MyFolder"/>
  </Directory>
</Directory>

如果WindowsFolder将告诉安装程序使用"windows“文件夹并使用其中的子文件夹,只需将目录ComponentGroup (或其他文件夹)设置为MyFolder即可。

代码语言:javascript
复制
<ComponentGroup Id="MyFolderComponents" Directory="MyFolder">
  ..
  ..
</ComponentGroup>
票数 1
EN

Stack Overflow用户

发布于 2014-06-04 14:51:07

您的常规安装文件夹基于一棵具有ProgramFilesFolder的树,然后是您的子文件夹名。使用标准Windows Installer属性对Windows文件夹执行相同的操作:

Windows文件夹

其中之一就是:

属性参考

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24040467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档