WIX:如果MSI具有命令行参数,则在安装时覆盖IniFileSearch

WIX:如果MSI具有命令行参数,则在安装时覆盖IniFileSearch,wix,windows-installer,Wix,Windows Installer,在我的WIX设置项目中,我正在从INI文件读取一些属性 如果将任何属性值作为命令行参数传递,是否有方法在安装期间重写IniFileSearch。(我正在尝试这样做,以便它也能与静默安装一起工作。) 代码段: <Property Id="WEBDIR" > <IniFileSearch Id="WebsitesDirIni" Name="Setup.ini" Section="InstallLocations" Key="WebsitesDir" Type="raw"/&g

在我的WIX设置项目中,我正在从INI文件读取一些属性

如果将任何属性值作为命令行参数传递,是否有方法在安装期间重写IniFileSearch。(我正在尝试这样做,以便它也能与静默安装一起工作。)

代码段:

<Property Id="WEBDIR" >
   <IniFileSearch Id="WebsitesDirIni" Name="Setup.ini" Section="InstallLocations" Key="WebsitesDir" Type="raw"/>
</Property>

INI文件搜索只能在Windows目录中搜索。因此,对于您的场景,您可以尝试使用此线程中提到的自定义操作:


通过这种方式,您只需使用从命令行设置的属性来调节自定义操作。

您的示例将WEBDIR设置为命令行值,然后用ini文件值替换该值

通过使用不同的命令行属性名称并将WEBDIR设置为该值(如果已定义),可以实现所需的结果。i、 e

    <SetProperty Id="WEBDIR" After="AppSearch" Value="[DIR]">
        DIR
    </SetProperty>
这将覆盖ini文件中定义的WEBDIR属性

msiexec /i install.msi WEBDIR=C:\MyOverriddenPath
msiexec /i install.msi DIR=C:\MyOverriddenPath