2014-09-10 2 views
0

У нас есть проект Wix для нашего установщика. Можно ли проверить, существует ли файл? В принципе, для некоторых наших конфигурационных файлов мы хотим передать путь к файлу, который на самом деле отсутствует в нашем скрипте установщика, но передаем путь к файлу в общедоступное свойство в командной строке. В этом случае мы хотим, чтобы компонент конфигурационного файла использовал этот переданный в файле конфигурации во время установки вместо стандартного файла конфигурации.Устанавливать компонент условно в Wix

Возможно ли это?

Я пытался что-то вроде этого:

<?if FileExist([PORTALCONFIGPATH])?> 
     <File Id='webConfig' Name='web.config' DiskId='1' Source='[PORTALCONFIGPATH]' KeyPath='yes'/> 
<?else?> 
     <File Id='webConfig' Name='web.config' DiskId='1' Source='web.config' KeyPath='yes'/>    
<?endif?> 

каким-то образом проверить, что переданный в имени файла существует, то установить переданному в файл в противном случае использовать файл по умолчанию.

ответ

0

WiX FileSearch, DirectorySearch, Condition и CopyFile элементы - это то, что вы ищете. Создайте свойство при выполнении msi, если свойство установлено, элементы DirectorySearch и FileSearch будут искать путь к этому свойству, установив другое свойство (например, MYFILEEXISTS), если MYFILEEXISTS CopyFile будет работать с этим путем.

+0

Спасибо, Рик, как я могу убедиться, что мои действия по поиску файлов запущены до того, как он попытается установить компонент для файла web.config? – Nasir

+0

Ищет выполнение перед копированием файлов, к сожалению, я не могу найти официальную документацию, в которой говорится, что я нашел это, что, кажется, говорит, что в раунде вокруг http://blogs.technet.com/b/alexshev/archive /2008/02/10/from-msi-to-wix-part-3.aspx –

+0

Спасибо, я дам ему попробовать и разместить здесь. – Nasir

Смежные вопросы