2016-12-10 4 views
0

Копирование файлов лицензий с помощью Wix 3.10.2? У нас есть требование, когда нам нужно скопировать некоторые файлы лицензий после установки веб-приложения в IIS. Копирование файлов лицензий будет последним в последовательности. Файлы лицензий будут находиться рядом с файлом setup.exe для записи (bootstrapper). Таким образом, мы можем контролировать, какой файл лицензии необходимо установить на основе пользователя. Я пытаюсь понять, будет ли проблема с количеством файлов лицензии вместе с .exe? Есть ли специальное действие для выбора файлов, которые не являются частью msi или exe?Wix Burn Loose File Install

ответ

0

Возможно, вам потребуется уточнить, когда именно требуется копирование. В исходном вопросе говорится «после установки», что означает, что установка завершена и что сгенерированный MSI больше не работает. но в более позднем комментарии вы говорите «во время установки».

Если после установки вы хотите, вы можете добавить пользовательский исполняемый файл в свой пакет Burn, который будет делать все, что вы хотите. Во многих из этих ситуаций приложение, которое нуждается в файле, просто идет и получает его с помощью MSI, говорящего о том, где он был установлен, или используя возможности SourceList установщика Windows для получения местоположения.

Если вы хотите скопировать файлы во время установки, то элемент CopyFile, вероятно, вам нужен. Он имеет подстановочные знаки для определения файлов, которые вы хотите скопировать. Местоположение вашего источника будет свойством SourceDir, и пункт назначения будет одним из ваших определенных каталогов. Обратите внимание, что файлы не будут удалены, когда продукт будет удален.

WiX CopyFile:

http://wixtoolset.org/documentation/manual/v3/xsd/wix/copyfile.html

+0

Я уточнил свой первоначальный вопрос, чтобы уточнить. Файлы лицензий являются частью установки. Но это делается в конце последовательности. Я хотел бы подтвердить, что если нам нужно все *.ли файлы как часть компиляции msi для элемента CopyFile для работы? – varun7447

+0

Да, это работает, вот для чего. В качестве теста я просто скопировал два .txt-файла, используя * .txt, рядом с MSI, в основную папку установки. – PhilDW

+0

Я пытаюсь сделать что-то подобное с помощью CopyFile: ' ' – varun7447

1

1) Там не будет проблема с номером лицензионных файлов, проживающим вместе с ехом

2) Использованием медиа-элемента без имени кабинета вы можете указать, что некоторые файлы не будут ни внутри кабины или встроенные в msi, никаких специальных действий не требуется. См. http://wixtoolset.org/documentation/manual/v3/xsd/wix/media.html

+0

Спасибо за указатель. Но нужно ли каждый раз составлять файлы лицензий как часть проекта ожога? Могу ли я использовать какой-то скрипт, который находится внутри exe, который будет искать любые файлы лицензий в том же каталоге, что и exe, чтобы скопировать их в каталог установки. Таким образом, пользователь может просто скопировать необходимые файлы лицензий перед установкой и выполнить exe. – varun7447

+0

Установщик Windows предназначен для того, чтобы знать, какие файлы устанавливаются, чтобы он мог корректно восстанавливать, откатывать и удалять их при необходимости. Установщик, который будет копировать любой общий файл, в первую очередь нарушает дизайн и преимущества использования установщика Windows. Возможно, вам лучше использовать другую технологию. Написание настраиваемого действия, которое может корректно устанавливать, откатывать, удалять и восстанавливать общие файлы, будет затруднительным. – tjleigh

+0

Да, трудно поверить, что такой инструмент, как Wix, не может выполнять простые файлы копирования на основе расширения во время установки из исходного каталога. – varun7447

0

Я должен был использовать родной загрузчик, который поставляется с Visual Studio SDK. С помощью бутстрапа вы также можете создать предпосылки, например, установить .net. Это работало для моего требования. Также есть задача msbuild, чтобы вы могли ее автоматизировать. Используемый проект настройки для создания msi и VS bootstrap для создания setup.exe

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