根据RegistrySearch的结果设置目录

奥利弗·尼科尔斯(Oliver Nicholls)

我试图将一些文件添加到使用RegistrySearch找到的目录中。我相信我的RegistrySearch是正确的:

<Property Id="IISROOT">
    <RegistrySearch Id="IIS_RegDir"
                    Type="directory"
                    Root="HKLM"
                    Key="Software\Microsoft\InetStp"
                    Name="PathWWWRoot" />
</Property>

我想将IISROOT属性用作对应在其中添加文件的目录的引用。

<DirectoryRef Id="IISROOT">
    <Component Id="cmp_testBAT" Guid="">
      <File Id="fil_testBAT" KeyPath="yes" Source="$(var.myDir)\test.bat" />
    </Component>
</DirectoryRef>

我知道这行不通,因为如果我想使用DirectoryRef,则需要一个Directory,但是我的问题是将Directory元素设置为具有RegistrySearch结果的目录。

<Directory Id="TARGETDIR" Name="SourceDir">
   <Directory Id="IISROOT" Name/SourceName/FileSource="?"/>
   <!-- ... -->
</Directory>

从我所读的内容中,仅在目录不存在且其他源属性已弃用的情况下,才应使用Name,因此(据我所知),我需要使用SourceNameFileSource我已经尝试了两种方法,IISROOT都使用了方括号和不使用方括号进行了引用,并更改了属性和目录名称以查看它们是否相同或不同,但是结果始终是在中创建文件C:我也尝试使用Name=".",但这并没有改变任何东西。日志总是只说IISROOTDirectory元素设置为C:\,但是不说我的属性设置是否正确(通过检查RegEdit,我认为它是正确的,但我不能百分百确定)。

我曾问过类似的问题,但答复通常是我当前拥有的实现。我该怎么做才能将Directory元素设置为结果RegistrySearch

马洛斯

您应该指定一个默认目录,通常在ProgramFilesFolder备用目录下,以防注册表搜索不返回值。对于注册表搜索有效的时间,通常它将覆盖它。这条路:

<Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
        <Directory Id="ProgramFilesFolder">
            <Directory Id="INSTALLFOLDER" Name="MyApp">
                <Directory Id="IISROOT" Name="IISFOLDER" />
            </Directory>
        </Directory>
    </Directory>
</Fragment>

然后,您可以通过这种方式使用IISROOT目录(即使在其他文件中):

<Fragment>
    <ComponentGroup Id="ProductComponents">
        <Component Id="Component_User" Guid="*" Directory="IISROOT">
            <File Name="My Test App.exe" />
        </Component>
    </ComponentGroup>
</Fragment>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

根据命令的结果更改目录

来自分类Dev

根据目录更改 expandtab 设置?

来自分类Dev

根据工作目录自动设置vim ctags

来自分类Dev

如何根据安装目录设置环境值

来自分类Dev

XSLT设置结果文件所在的目录

来自分类Dev

XSLT设置结果文件所在的目录

来自分类Dev

查询以根据查询结果设置变量

来自分类Dev

读取当前目录,根据文件属性打印结果

来自分类Dev

如何根据目录名称设置VisualSVN权限?

来自分类Dev

如何根据所在目录设置不同的.bashrc PS1?

来自分类Dev

根据原始目录结构动态设置集合名称

来自分类Dev

在运行时设置魅力结果目录

来自分类Dev

根据其他查询的结果对Postgres UPDATE FROM设置值

来自分类Dev

Akka HTTP根据Future的结果设置响应头

来自分类Dev

赛普拉斯:根据任务结果设置变量

来自分类Dev

Google表格根据= QUERY结果进行条件格式设置

来自分类Dev

根据结果仅为一个用户设置列值

来自分类Dev

根据 Get-AdUser 的结果设置 AD 用户的 UPN

来自分类Dev

MongoDB MonkAPI根据查找结果设置变量,该结果在db请求之外可用

来自分类Dev

在失败的RegistrySearch未运行后设置属性的自定义操作

来自分类Dev

PHP -v 命令根据我当前的目录给出不同的结果

来自分类Dev

使用PowerShell,根据显示名称为用户设置AD主目录

来自分类Dev

如何根据目录结构正确设置 Git 和 GitHub 存储库

来自分类Dev

如何根据静态查询的结果在Gatsby中设置初始状态值?

来自分类Dev

简单批处理,用于检查Internet连接并根据结果设置环境变量%internet%

来自分类Dev

根据数据库结果设置Yii2 catchAll路由

来自分类Dev

如何使用猫鼬在返回结果中创建新字段并根据条件在其中设置值?

来自分类Dev

根据单元格公式结果使用POI设置单元格样式

来自分类Dev

您如何设置 sqlalchemy 关系,以便 subqueryload 将根据属性过滤我们的结果

Related 相关文章

  1. 1

    根据命令的结果更改目录

  2. 2

    根据目录更改 expandtab 设置?

  3. 3

    根据工作目录自动设置vim ctags

  4. 4

    如何根据安装目录设置环境值

  5. 5

    XSLT设置结果文件所在的目录

  6. 6

    XSLT设置结果文件所在的目录

  7. 7

    查询以根据查询结果设置变量

  8. 8

    读取当前目录,根据文件属性打印结果

  9. 9

    如何根据目录名称设置VisualSVN权限?

  10. 10

    如何根据所在目录设置不同的.bashrc PS1?

  11. 11

    根据原始目录结构动态设置集合名称

  12. 12

    在运行时设置魅力结果目录

  13. 13

    根据其他查询的结果对Postgres UPDATE FROM设置值

  14. 14

    Akka HTTP根据Future的结果设置响应头

  15. 15

    赛普拉斯:根据任务结果设置变量

  16. 16

    Google表格根据= QUERY结果进行条件格式设置

  17. 17

    根据结果仅为一个用户设置列值

  18. 18

    根据 Get-AdUser 的结果设置 AD 用户的 UPN

  19. 19

    MongoDB MonkAPI根据查找结果设置变量,该结果在db请求之外可用

  20. 20

    在失败的RegistrySearch未运行后设置属性的自定义操作

  21. 21

    PHP -v 命令根据我当前的目录给出不同的结果

  22. 22

    使用PowerShell,根据显示名称为用户设置AD主目录

  23. 23

    如何根据目录结构正确设置 Git 和 GitHub 存储库

  24. 24

    如何根据静态查询的结果在Gatsby中设置初始状态值?

  25. 25

    简单批处理,用于检查Internet连接并根据结果设置环境变量%internet%

  26. 26

    根据数据库结果设置Yii2 catchAll路由

  27. 27

    如何使用猫鼬在返回结果中创建新字段并根据条件在其中设置值?

  28. 28

    根据单元格公式结果使用POI设置单元格样式

  29. 29

    您如何设置 sqlalchemy 关系,以便 subqueryload 将根据属性过滤我们的结果

热门标签

归档