WIX: переопределить IniFileSearch при установке, если MSI имеет параметры командной строки - PullRequest
2 голосов
/ 13 сентября 2011

В моем проекте установки WIX я читаю некоторые свойства из файла INI.

Есть ли способ переопределить IniFileSearch во время установки, если любое из значений свойства передается в качестве параметров командной строки. (Я пытаюсь сделать это так, чтобы это работало и с тихими установками.)

Фрагмент кода:

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

Мне бы хотелось, чтобы, если бы я выполнял msi, как показано ниже, он принимает значение, заданное параметром командной строки, а не ищет значение в файле ini.

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

Ответы [ 2 ]

1 голос
/ 23 декабря 2011

Ваш пример установит WEBDIR в значение командной строки, которое затем будет заменено значением ini-файла.

Вы можете достичь желаемого результата, используя другое имя свойства командной строки и задав для WEBDIR это значение, если оно определено. т.е.

    <SetProperty Id="WEBDIR" After="AppSearch" Value="[DIR]">
        DIR
    </SetProperty>

Обратите внимание, что это дополняет ваш существующий код. Вы можете позвонить:

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

Что переопределяет свойство WEBDIR, определенное в INI-файле.

1 голос
/ 13 сентября 2011

INI поиск файлов может искать только в каталоге Windows. Так что для вашего сценария вы можете попробовать использовать пользовательские действия, упомянутые в этой теме: Получить значение файла INI с помощью WiX

Таким образом, вы можете просто обусловить настраиваемое действие свойством, заданным вами из командной строки.

...