Установщик WIX устанавливается в нескольких местах, затем исправляется - PullRequest
1 голос
/ 24 марта 2012

Сначала позвольте мне сказать, если это не имеет смысла для кого-то, пожалуйста, дайте мне знать.

Вот мой сценарий ... и я верю, что должно быть потенциально простым. Допустим, у меня был сценарий, в котором мой установщик установил:

Program Files/MyProduct/Development

Также я хотел установить тот же установщик на:

Program Files/MyProduct/Test

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

Кроме того, как я могу исправить каждый из них, если так?

Ответы [ 3 ]

2 голосов
/ 24 марта 2012

То, что вы пытаетесь понять, называется установщиками нескольких экземпляров.Я сделал многое из InstallShield, а не обновлений WiX и Major / Minor, а не исправлений.Ян сделал больше на стороне WiX, включая написание некоторых статей в блоге.

Но будьте осторожны, это не просто.: -)

Пересмотрено: установка и исправления для нескольких экземпляров

0 голосов
/ 27 марта 2012

Следующее должно позволить вам устанавливать бок о бок, я бы сказал, что вы очень осторожны с этим подходом и должны использовать его только в целях разработки.

<?xml version="1.0" encoding="UTF-8"?>

<?if $(var.MyApplication.Configuration) = Debug ?>
<?define UpgradeCode = "<INSERT-DEVELOPMENT-GUID-HERE>" ?>
<?else ?>
<?define UpgradeCode = "<INSERT-RELEASE-GUID-HERE>" ?>
<?endif ?>

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Product Id="*"  Name="SetupProject1" Language="1033" Version="1.0.0.0" Manufacturer="SetupProject1" UpgradeCode="$(var.UpgradeCode)">

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

Затем необходимо выполнить развертывание способом, описанным @KMoraz.

0 голосов
/ 24 марта 2012

Обычно INSTALLDIR или INSTALLLOCATION - это открытое свойство, которое вы можете установить через командную строку или загрузчик. E.g.:

msiexec /i setup.msi INSTALLDIR="C:\Program Files\MyProduct\Test"
...