Iis 方括号[]语法在WiX中的含义是什么

Iis 方括号[]语法在WiX中的含义是什么,iis,wix,windows-installer,Iis,Wix,Windows Installer,我正在使用WiX工具集和手动创建IIS网站的安装程序。我遇到了以下语法 <iis:WebSite Id="DemoWebsiteWebsite" Description='Demo Website' Directory='INSTALLFOLDER' AutoStart='yes' StartOnInstall='yes'> <iis:WebAddress Id="AllUnassigned" Port="80" /> <iis:WebApplication

我正在使用WiX工具集和手动创建IIS网站的安装程序。我遇到了以下语法

<iis:WebSite Id="DemoWebsiteWebsite" Description='Demo Website' Directory='INSTALLFOLDER' AutoStart='yes' StartOnInstall='yes'>
  <iis:WebAddress Id="AllUnassigned" Port="80" />
  <iis:WebApplication Id="DemoWebsiteApplication" Name="[DemoWebsiteWebsite][WEBSITE_ID]" WebAppPool="DemoWebsiteAppPool"></iis:WebApplication>
</iis:WebSite>

我被
[]
语法和这里使用网站id的方式弄糊涂了。我需要使用用户为此输入的一些自定义值。因此,我有以下问题:

  • WiX中的
    []
    语法是什么意思?它与用于访问定义值的
    $()
    语法有何关系
  • 像这里这样互相跟随的两个
    []
    是否还有其他含义
  • 为什么在
    [DemoWebsiteWeb]
    表达式中使用网站Id?这只是巧合还是命名惯例
  • 允许在
    []
    中使用哪些值?有他们的名单吗
  • 在哪里可以找到有关此语法及其用于的案例的其他信息

  • 这是将Windows Installer属性解析为实际值的方法。如果您在MSI对话框中输入了一个名为WEBSITE的属性,您可以通过将其放在方括号中将其解析为实际值。这就是为什么您会看到像[TARGETDIR]、[SourceDir]之类的东西。大多数生成MSI文件的工具都使用这种语法,因为它是Windows安装程序

    这是文档链接,全部隐藏在这里:

    So 1-它们是MSI文件中的属性,可以是标准Windows Installer属性,也可以是用户创建的属性:

    第二,它们只是两个连在一起的属性。它们区分大小写,所以不要草率处理。在了解其他要点是安装程序属性之后,应该清楚这些要点


    WiX源代码中的$()值是编译时的-它们在构建时解析为实际值。[]值在安装时解析

    这似乎是一个更好的解释!请你用更多的细节来回答所有的1-5项,好吗?现在,除了一件事——3——为什么在[DemoWebsiteWeb]表达式中使用网站Id之外,它几乎完全清楚了?这只是巧合,还是在某个地方定义了一个与WebsiteId对应的属性?如果是,它计算的值是什么?根据定义,如果括号中有这样一个属性,那么肯定有某个地方创建了该属性,如果找不到引用,WiX构建将出错。困难在于,您可以通过指定属性来创建属性,包括在msiexec命令行上,并且没有用户定义属性的默认值列表,除非它们位于MSI文件的属性表中,使用WiX中的Property Id元素。感谢您的回答!我将尝试使用Orca软件来确定该财产的价值。若我在属性表中找不到它,那个么我将在运行时中尝试确定它!()了解语法也很有用。这些将在链接时解析,并可用于提取链接文件的属性。请看:简短回答:这对WiX没有任何意义@PhilDW's解释了它们对Windows Installer的意义。