WIX Изменить имя продукта и установить каталог из параметров командной строки - PullRequest
0 голосов
/ 26 декабря 2018



Я столкнулся с типичным сценарием, в котором требовалось изменить название продукта в соответствии с параметрами командной строки, как показано ниже

MSBuild.exe ApplicationSetup.wixproj /p:AssemblyTitle=%USER_SPECIFIED_NAME% /p:ProductVersion=%VERSION% /p:ProductCode=%PRODUCT_CODE% /p:UpgradeCode=%UPGRADE_CODE% /t:Clean;Rebuild"


Яиспользуя эти параметры в файле .wxi.как показано ниже:

 <Product Id="$(var.ProductCode)" Name="$(var.AssemblyTitle)" Language="4"
           Version="$(var.BuildVersion)"
           Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">

Этот код успешно компилируется.Но название продукта в программе добавления / удаления отображается неправильно.Я прочитал, что название продукта не может быть предоставлено напрямую, оно должно быть жестко запрограммировано. Пожалуйста, сообщите об этом.

Еще одно типичное требование - установить на машине несколько версий одного и того же продукта.Я несколько добился этого, выполнив следующие изменения в теге Product в файле .wxi

  <Product Id="*" Name="$(var.AssemblyTitle)" Language="4"
            Version="$(var.BuildVersion)"
            Manufacturer="!(loc.Manufacturer)" UpgradeCode="$(var.UpgradeCode)">



Теперь возникает проблема, что вторая установка перезапишет файл, созданный во времяПервая установка.Поэтому требуется динамически изменять каталог установки.

Я опубликовал это после нескольких дней борьбы и перепробовал много решений, но все тщетно.Любая помощь будет высоко оценена.

...