2011-01-04 4 views
5

у меня есть несколько сред, сборки, тестирования и т.д. продWIX несколько копий одного и того же файла в MSI, но будет установлен только один

я хотел бы создать единый инсталлятор в WiX, который может содержать несколько машину .config файлы. то на основе значения функции, переданного через командную строку, будет установлен только один файл.

conceptualy это звучит просто, но я получаю ошибку ICE30 о том, что

«ICE30: Целевой файл | установлен 'btfrgsa_ [FILENAME]' в '[TARGETDIR] \ NETFRAMEWORK40FULLINSTALLROOTDIR64 \ CONFIG \' двумя различными компонентами в системе LFN: «MachineConfigs.WS» и «MachineConfigs.APP». Это нарушает подсчет ссылок компонентов ».

Какой был бы лучший способ сделать это?

благодаря

Semaj

+0

Пробовал ли вы искать утверждения условий. Это может быть еще проще, чем выбранный вами ответ. – Adkins

ответ

6

Несколько подходов:

  1. Создать несколько функций и компонентов с файлами разных имен (1.config, 2.config), а затем использовать CopyFile чтобы вызвать копирование x.config в настоящее имя файла.) Это приведет к развертыванию x.config и real.config, но это безопасно, и удаление будет работать чисто.

  2. Определите различия между x.configs и используйте XML-изменения, чтобы применить их во время установки с помощью операторов xpath.

+0

Я думаю, что могу использовать no. 1. thanks, Semaj – semaj

+1

+1 Для использования XMLConfig: это может быть больше работы спереди, но в долгосрочной перспективе оно намного более чистым. –

+0

Я понимаю, что это помечено для wix, однако есть ли подобное решение с номером 1 для InstallShield? Или так же хорошо, объяснение того, какие таблицы msi используются с этим решением (MoveFile?)? – JohnZaj

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