WIX: Используя временный файл во время установки

Я пишу установщик WIX, и у меня есть следующее требование:
Во время установки я должен передать полный путь файлу (позволяет, называют это A), включенный в мой установщик к COM-компоненту, который уже существует на жестком диске и является частью другой программы. Я уже записал соответствующее Пользовательское действие, которое ожидает путь к файлу A. Я не хочу включать как файл, установленный в папке Program Files и удаленный во время процесса удаления. Вместо этого я хотел бы поместить единственный временный файл на жесткий диск, назвать мое Пользовательское действие, которое заставит COM-компонент использовать содержание A и затем удалять из диска. Существует ли простой способ выполнить эту цель?

Я попытался использовать Двоичную Таблицу и сохранить там, однако я не знаю, как сослаться на полный путь использования. Я знаю, что мог поместить за пределами файла MSI, но я хотел бы сохранить каждый установщик файла потребностями в единственном MSI.

Любая справка ценилась бы.

7
задан madbadger 12 April 2010 в 19:01
поделиться

2 ответа

Я бы выбрал такой подход.

Установите файл "A" в любой каталог. Запустите пользовательское действие, необходимое для обновления COM-компонента. Затем запустите другое пользовательское действие или измените текущее, чтобы удалить файл после того, как он перестанет использоваться. Это не оставит следов файла "A", и если вы запланируете выполнение пользовательского действия только во время установки, вам не придется беспокоиться об этом при удалении.

7
ответ дан 6 December 2019 в 14:02
поделиться

Удаление файла, установленного MSI, означает, что MSI сочтет его "сломанным" "и попытайтесь отремонтировать его автоматически, если потребуется. В некоторых случаях это происходит автоматически (например, при рекламировании ярлыков и регистрации через COM), поэтому я бы не рекомендовал это делать. Вместо этого оставьте файл там - он сделал свою работу, и нет ничего плохого в том, чтобы оставить его там.

8
ответ дан 6 December 2019 в 14:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: