gpt4 book ai didi

WIX MSI - 属性覆盖优先级

转载 作者:行者123 更新时间:2023-12-05 01:15:01 25 4
gpt4 key购买 nike

任何帮助都感激不尽。

我正在编写此 WIX 安装程序以获取 MSI 以在我们的服务器上安装 Web 应用程序。

在我的应用程序中,我有这个属性 - “WEBDIR”。我稍后在我的代码中将此属性用作目录 ID。

我以 3 种方式设置此属性。

  • (方法“A”)作为在安静模式下调用 msiexec 时传递的属性。 [在此处设置为 C:\Path1] 像这样:
    msiexec /quiet /i My.msi WEBDIR="C:\Path1" /l*v InstallationLog.log
  • (方法“B”)来自 IniFileSearch。我在 C:\Windows 中有一个名为 MySetup.ini 的 ini 文件,其中的键 WebsitesDir 解析值 C:\Path2。 [在此处设置为 C:\Path2]:
    <Property Id="WEBDIR">
    <IniFileSearch Id="WebsitesDirIni" Name="MySetup.ini" Section="InstallLocations" Key="WebsitesDir" Type="raw"/>
    </Property>
  • (方法“C”)使用默认目录结构。 【这里设置为C:\Path3】如下:
    <Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="WEBDIR" Name="Path3">
    </Directory>
    </Directory>

  • 它目前的工作方式如下:
    - 当方法'A'、'B'和'C'都设置属性值时,B优先。
    - 当只有方法“A”和“C”设置属性值时,“C”优先。

    我想要的是能够将优先顺序设置为“A”。如果!'A'然后'B'否则'C'。

    这可能吗?

    最佳答案

    不,这是不可能的。如果您想控制顺序,最好的方法是 immediate custom action .由于它需要设置安装程序属性,因此您的自定义操作必须接收安装句柄(建议使用 win32 DLL)。

    一般情况下安装程序会使用这个命令:

  • 命令行值初始化属性
  • 目录行设置初始文件夹路径,覆盖命令行值。稍后可以通过成本计算操作 (CostFinalize) 修改此路径。
  • 搜索会覆盖初始文件夹路径,但可能会被成本计算操作覆盖。
  • 关于WIX MSI - 属性覆盖优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7884465/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com