2013-06-18 2 views
1

Я использую последнюю версию WiX для создания своих установщиков проектов, и необходимо решение моей проблемы ...Копировать MSI в каталог как часть установки

Когда я устанавливаю ProductA.msi, я хотите ProductA.msi, чтобы скопировать себя в каталог, назовите его % PROGRAMFILES% \ ProductA \ Installer - так, чтобы используемый установщик я использовал для повторного использования в % PROGRAMFILES% \ ProductA \ Installer \ ProductA.msi

Кто-нибудь знает, возможно ли это?

+2

Вы знаете, что msiexec кэширует установщики уже, не так ли? –

+2

Установщик Windows обычно хранит копию всех установщиков в% windir% \ Installer. Для поиска установщика обратитесь к http://superuser.com/questions/473569/where-does-windows-store-msi-files-for-uninstallation. – sttaq

+1

@sttaq - не нужно указывать * установщик - есть причина, по которой 'msiexec' принимает идентификаторы пакетов в качестве альтернативы пути к' .msi'. –

ответ

1

Я не уверен, что то, что вам нравится делать, это нормально.

НО: Вы можете написать .bat-файл с robocopy, который копирует msi и его файлы в пункт назначения и запускает .msi впоследствии.

0

Мне нужно было сделать то же самое и закончил тем, что бросил скрипт powershell как обычное действие. WiX имеет свойство [OriginalDatabase], которое указывает на запуск .msi. Я просто передал это как аргумент быстрого сценария, и он работает.

param(
[string]$MsiLocation 
) 

echo "Creating directory" 
md -Force "C:\directory" 

echo "Removing current files" 
rm "C:\directory\*" 

echo "Copying in new .msi" 
cp "$MsiLocation" "C:\directory\" 

Это не элегантный, но он выполняет свою работу. Вы можете увидеть this answer для более подробной информации.

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